我有一个gradle多项目。在projectA中,我有一个packageA,其中包含一些类(以及其他一些包,仅在projectA中使用)。
在另一个projectB中,我只想使用projectA中的packageA。
我在projectB中使用以下配置:
dependencies {
compile project(':ProjectA') // I understand, this is to much
}
现在,在为projectB生成的JAR中,我具有projectA的所有类,但是我不知道如何排除不需要的类(或仅将packageA包含在此类中)。
有人可以帮我,如何配置。谢谢
乌韦/德国
您可以按照@Opal的说明进行操作,并将其拆分为独立的项目以建立依赖关系,或者如果您只想保留2个项目并且仅依赖某些类,则将projectB的依赖项放到生成的projectA工件中像这样:
在创建工件的projectA中:
configurations {
myCustom.extendsFrom runtime
}
task customJar(type: Jar) {
classifier "custom"
from sourceSets.main.output
// now the packages you want to include in the artifact
include 'com/your/domain/package1/*'
include 'com/your/other/stuff2/*'
}
artifacts {
myCustom customJar
}
然后在projectB中,您可以通过以下方式依赖生成的工件:
dependencies {
compile project(path: ':projectA', configuration: 'myCustom')
}
这适用于任何类型的生成类,因此您可以使用“ extendsFrom testRuntime”和“ from sourceSets.test.output”,并包含测试类的路径(如果这是您要依赖的测试输出关系而不是主类)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句