0
因此,我正在嘗試創建一個包含多個戰爭項目的根級耳項目,但似乎無法使其工作。削下來的最簡單的層面,讓想我有這樣的目錄結構:Gradle - 在EAR中包含多個WAR項目
myEar/
├── build.gradle
├── myWar1
│ ├── build.gradle
│ └── src
│ └── main
│ ├── java
│ │ └── com
│ │ └── foo
│ │ └── hello.java
│ ├── resources
│ └── webapp
│ ├── test.html
│ └── WEB-INF
│ └── web.xml
├── myWar2
│ ├── build.gradle
│ └── src
│ └── main
│ ├── java
│ │ └── com
│ │ └── foo
│ │ └── hello.java
│ ├── resources
│ └── webapp
│ ├── test.html
│ └── WEB-INF
│ └── web.xml
├── settings.gradle
└── src
└── main
└── application
└── application.xml
在myWarX subporjects每個的build.gradle文件很簡單:
defaultTasks 'war'
apply plugin: 'war'
當我的Gradle運行從myWar1/2文件夾中,我得到預期的輸出:
jar -xvf myWar1.war
created: META-INF/
inflated: META-INF/MANIFEST.MF
created: WEB-INF/
created: WEB-INF/classes/
created: WEB-INF/classes/com/
created: WEB-INF/classes/com/foo/
inflated: WEB-INF/classes/com/foo/hello.class
inflated: WEB-INF/web.xml
inflated: test.html
現在,在根項目水平myEar,我有以下settings.gradle文件:
包括 「:myWar1」, 「:myWar2」
和的build.gradle看起來是這樣的:
defaultTasks 'assemble'
allprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'war'
apply plugin: 'ear'
}
dependencies {
deploy project(path: ':myWar1', configuration: 'archives')
deploy project(path: ':myWar2', configuration: 'archives')
}
現在,當我運行它,它建立一個myEar.ear文件果然但無論是戰爭項目被列爲檔案中的myWar1/2.ear。另外,如果我擴大了這些ear文件,它是缺失的東西,如HTML文件和web.xml文件:
jar -xvf myEar.ear
created: META-INF/
inflated: META-INF/MANIFEST.MF
inflated: myWar1.ear
inflated: myWar2.ear
inflated: application.xml
inflated: META-INF/application.xml
jar -xvf myWar1.ear
created: META-INF/
inflated: META-INF/MANIFEST.MF
created: com/
created: com/foo/
inflated: com/foo/hello.class
inflated: META-INF/application.xml
好像應該有一個簡單的解決方案,但我不能爲我的生活找到它。任何幫助將不勝感激。
謝謝, 馬庫斯。