Gradle ear正在使用JAR而不是WAR

ras*_*cio 22 ear war gradle

我正在尝试使用Gradle 构建一个耳朵.
我的项目树如下:

/project
|
|--> /web-application
|    |
|    |--> /src (stuff of web app)
|    |
|    |--> build.gradle
|
|--> build-gradle
|--> settings.gradle
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用ear插件生成耳朵,但是当我这样做时,我在web应用程序build目录下创建gradle assemblewar,但是在生成的ear中我有一个jar应用程序.gradle配置文件非常简单,它们是:

项目/的build.gradle

apply plugin: 'ear'

repositories {
    mavenCentral()
}

dependencies {
    deploy project(':web-application')
    earlib group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}
Run Code Online (Sandbox Code Playgroud)

项目/ Web的应用程序/的build.gradle

apply plugin: 'war'

repositories {
   mavenCentral()
}

dependencies {
    compile group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

我注意到war插件的捆绑样本也有同样的问题...提前谢谢

ras*_*cio 32

解决了!

它需要在EAR项目中配置WAR模块:

dependencies {
    deploy project(path:':web-application', configuration:'archives')
    earlib group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}
Run Code Online (Sandbox Code Playgroud)

  • 配置文档:http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.Configuration.html (2认同)