【问题标题】:include a gradle 'war' project in another project在另一个项目中包含一个 gradle 'war' 项目
【发布时间】:2017-11-12 21:39:51
【问题描述】:

我是 Gradle 的新手,正在尝试弄清楚如何让我的依赖项正常工作。

我有一个使用“战争”插件构建战争的项目。然后,我想使用该项目以及其他一些类似项目来部署这些战争。

但是,我不知道如何使负责组装这些其他项目的项目依赖于战争项目。

项目'war1'有一个'war'方法,我试过以下 依赖项,都不起作用:

dependencies {
    war project(path: ':war1')
    /* or */ compile project(path: ':war1')
    /* or */ assemble project(path: ':war1')
} 

找不到参数 [DefaultProjectDependency{dependencyProject='project ':war1', configuration='default'}] 的方法 xxx()

【问题讨论】:

    标签: java gradle


    【解决方案1】:

    你可以像这个例子一样在 Gradle 中指定对 .war 工件的依赖...

    dependencies {
        runtime "org.jasig.cas:cas-server-webapp:3.5.2@war"
    }
    

    注意:此示例适用于外部依赖项,而不是对同一多项目设置中另一个子项目的依赖项。看着api docs,看来你会这样做……

    dependencies {
        runtime project(path: ':war1', configuration: 'war')
    }
    

    另外——也许您可以从Gradle WAR overlay plugin 中受益。这个插件允许您通过添加或调整其中的一些文件来“增强”战争依赖关系,从而提供您的项目知道的一些配置选择,但原始战争没有。

    【讨论】:

    • 这似乎返回错误:找不到参数的方法 runtime() [DefaultProjectDependency{dependencyProject='project ':war1'', configuration='war'}]
    • 啊,抱歉 - 您需要指定一个配置(例如 compiletest 等),该配置存在于您的项目中,并且对您尝试执行的操作有意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    相关资源
    最近更新 更多