我得到了2个java项目和1个服务器,这三个都有build.gradle文件,定义和配置我在我的项目中需要的依赖关系。Liberty server Build.Gradle的代码片段如下:
configuration{
project1
project2
oracle
extrasecuritystuff
}
dependencies{
project1: "fskfksd"
project2: "sdfd"
extrasecuritystuff 1."fsfd"
2."ewrwer"
}
doTask{....
我的问题是如何排除2.“eWrwer”中存在的传递依赖项。这样做的Groovy/Gradle语法是什么?基于gradle文档,我尝试了类似的方法,但没有成功,一旦我触发了Jenkins构建,它仍然在调用传递依赖jar。
configurations {
project1
project2
extrasecuritystuff {
exclude group: 'javax.jms', module: 'jms'
exclude group: 'com.sun.jdmk', module: 'jmxtools'
}
}
dependencies {
project1 'org.javax.etc'
project2 'org.blah.blah'
extrasecuritystuff 'log4j:log4j:1.2.15'
}
我在这里假设您正在使用诸如“application”插件之类的插件来生成项目的。zip文件,并且您的目标是从。zip文件中排除传递依赖性。原因可能是传递依赖项具有不希望的许可,或者太大,并且代码实际上从未调用需要传递依赖项的函数。(绝对100%加倍肯定这一点,否则您的应用程序将崩溃。)或者,目标系统已经安装了该依赖项。(同样。)
您的示例代码中有一些语法问题,但我已经根据我的理解解释了这个问题。在这个示例中,我的依赖项EWRWER
正在拉入lib-foo
,这是我不想要的。
configuration{
project1
project2
extrasecuritystuff
}
dependencies{
project1 ( [...] )
project2 ( [...] )
extrasecuritystuff ('org.blah:fsfd:1.0.1')
extrasecuritystuff ('org.bloop:ewrwer:2.12') {
exclude group: 'org.bleep', module: 'lib-foo'
}
}
关于管理传递依赖关系的更多信息,请参阅官方的Gradle文档。
我有三个分级模块:ModA模块、ModB模块和ModC模块 ModA依赖于ModB和Spring Web MVC 3.2.6 ModC依赖于Spring Web MVC 4.1.5 我得到了相当多的错误,因为ModA拉进来,使用的是Spring4.1.5而不是3.2.6。由于版本差异和时间,我现在无法将ModA更新到Spring4.1.5。我想做的是将Spring4.1.5从ModA Gradle
我试图从gradle构建中排除嵌套的传递依赖项。依赖结构看起来像 org.apache.beam:beam-sdks-java-core:2.33.0-自定义 我按照gradle exclude的公认解决方案排除了依赖性,但它对我不起作用。 这不排除依赖项。当我将其更改为时,依赖项仍然没有被排除。 关于如何排除这种依赖关系的任何建议?它在旧版本中拉动。
关于maven和传递依赖排除有几个问题。然而,我不能让它工作。我的pom中有一些依赖项,它们重新打包了一些库,以减小pom的大小。到目前为止,这是成功的。但是当我运行时,这些可传递的依赖项会被写入。类路径文件。尽管它们被排除在外,如以下摘录所示。 Apache Maven 3.3.3(7994120775791599e205a5524ec3e0dfe41d4a06;2015-04-22T13:57
我试图排除gradle中的传递依赖项 我看到这个错误 null 在类型为org.gradle.api.internal.artifacts.dependencies.DefaultExternalModuleDependency的DefaultExternalModuleDependency{group='org.apache.kafka',name='kafka-streams',version
给予 这在gradle 1.3中无法正常工作。(即,子项目包含所有依赖项) 这是一个bug还是有不同的语法来排除项目依赖关系?
我遇到了一个我一直无法解决的特殊问题,如果有任何帮助,我将不胜感激。最初,我在Java项目中包含了一些jar依赖项作为工件依赖项。它看起来如下所示: 到目前为止还好。让我们把这个项目叫做'A'。我已经将项目A包含在另一个Java项目B中,同样是用Gradle。我注意到,当在B中使用一个带有maven-publish的published时,它在pom文件中并没有排除所有的传递依赖项。 所以我开始使用