22

Gradleを使用してを構築しようとしています。
私は自分のプロジェクトツリーを次のようにしています:

/project
|
|--> /web-application
|    |
|    |--> /src (stuff of web app)
|    |
|    |--> build.gradle
|
|--> build-gradle
|--> settings.gradle

ear pluginを使用して ear を生成しようとしていますが、そうすると、 web-applicationのbuildディレクトリの下gradle assemblewarが作成されますが、生成されたear内に web アプリケーションのjarがあります。Gradle 構成ファイルは非常に単純です。以下に示します。

project/build.gradle

apply plugin: 'ear'

repositories {
    mavenCentral()
}

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

プロジェクト/ウェブアプリケーション/build.gradle

apply plugin: 'war'

repositories {
   mavenCentral()
}

dependencies {
    compile group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}

私は何を間違えましたか?

war プラグインのバンドルされたサンプルにも同じ問題があることに気付きました... よろしくお願いします

4

2 に答える 2

33

解決しました!

EAR プロジェクト内の WAR モジュールを次のように構成する必要があります。

dependencies {
    deploy project(path:':web-application', configuration:'archives')
    earlib group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}
于 2013-03-12T13:51:15.820 に答える