Gradle依赖项从EAR中排除
我有一个gradle项目和几个子项目。我在库中定义了几个依赖项,在根项目中使用版本号和别名。现在,只要子项目需要它,它就可以用它想要的级别定义别名,例如编译Gradle依赖项从EAR中排除,gradle,assembly-resolution,Gradle,Assembly Resolution,我有一个gradle项目和几个子项目。我在库中定义了几个依赖项,在根项目中使用版本号和别名。现在,只要子项目需要它,它就可以用它想要的级别定义别名,例如编译 root - build.gradle - libraries - xercesImpl: 'xerces:xercesImpl:2.8.1', - xalan: 'xalan:xalan:2.7.1', \ project1 : ear - build.gradle - ea
root
- build.gradle
- libraries
- xercesImpl: 'xerces:xercesImpl:2.8.1',
- xalan: 'xalan:xalan:2.7.1',
\ project1 : ear
- build.gradle
- ear project('project2')
\ project2 : jar
- build.gradle
- compile libraries.xercesImpl
- compile libraries.xalan
因为我已经将xercesImpl和xalan定义为project1的依赖项,并且project1包含在Project2EAR中,所以这些JAR应该添加到ear中,但它被从ear中排除。我检查过,可传递依赖项在任何地方都没有声明为false
我已经用gradlew打印了依赖关系树,它只打印2个以上的罐子,因为其他罐子包括在内:
+--- org.hibernate:hibernate:3.1.3
| +--- commons-logging:commons-logging:1.0.4 -> 1.1
| | +--- log4j:log4j:1.2.12
| | +--- logkit:logkit:1.0.1
| | +--- avalon-framework:avalon-framework:4.1.3
| | \--- javax.servlet:servlet-api:2.3
| +--- ehcache:ehcache:1.1
| | \--- commons-logging:commons-logging:1.0.4 -> 1.1 (*)
| +--- cglib:cglib:2.1_3
| | \--- asm:asm:1.5.3
| +--- asm:asm:1.5.3
| +--- asm:asm-attrs:1.5.3
| +--- commons-collections:commons-collections:2.1.1 -> 3.1
| +--- dom4j:dom4j:1.6.1
| +--- javax.transaction:jta:1.0.1B
| \--- antlr:antlr:2.7.6rc1 -> 2.7.6
+--- net.sf.ehcache:ehcache:2.9.0
| \--- org.slf4j:slf4j-api:1.7.7
+--- xerces:xercesImpl:2.8.1 (*)
+--- xalan:xalan:2.7.1 (*)
您如何知道这些依赖项被打印为已排除?您是否也有一个示例项目来尝试它?因为它在依赖关系树中有*它被排除了..而且我已经生成了EAR,它也没有这些JAR..这就是整个依赖关系树吗?