Gradle 构建脚本会创建一个 EAR 文件,其中包含一些 jars 和一个 war。这一切之前都是在 Maven 中完成的,现在是迁移到 Gradle 的主题。
环境:
- 摇篮 1.12
- Groovy 2.2.1
- Java 1.7.0_60 甲骨文
- 日食开普勒 SR 2
问题:
... 很简单:到目前为止它可以工作 - ear 插件创建包含所有模块文件的 ear 文件
deploy project(:core)
在“dependencies”部分中,“core-0.0.1.jar”位于ear-root,并且在application.xml中创建了一个模块条目。现在我发现运行时库不包含在 ear 文件中。所以我改变了(根据docu)包含
earlib project(:core)
并找到了 libs 目录中的库,如 ear 插件配置中的“libDirName”属性中所述。但是现在 application.xml 中没有模块条目,并且“core-0.0.1.jar”在 libs 目录中。
期望的
我们希望 core-0.0.1.jar 作为 ear 根目录中的模块和 libs 目录中的所有运行时库 - 没有来自模块本身的 jar!(core-0.0.1.jar 不是战争!)就像这样......
[APP.EAR]
|--/libs
| |-- log4j.jar
| |-- commons.jar
| |>> app-core.0.0.1.jar <<== NOT !
|
|-app-core-0.0.1.jar <== OK!
|-app-xy-0.0.1.jar
|-app-abc-0.0.1.war
问题
这是我对 EAR 概念的根本缺乏理解,还是 Gradle 本身不能按照我们想要的方式运行?或者这个小而简单的步骤可能需要更复杂的配置?