仅在多项目构建中为相互依赖的项目编译Java类

时间:2018-11-22 12:57:46

标签: java gradle jar multi-project

我的问题涉及项目间的依赖关系以及由此产生的JAR

项目结构与此类似

root
 -- :a
 -- :b
 -- :c
 -- :d

依赖性如下(:d没有依赖性)

a -> b -> c -> d

编译:d包含*.class中的所有:d文件。编译:c包含为:d:c生成的源。到目前为止,一切都很好。

但是,当我编译root时,它会为:d生成一个JAR,然后为:c编译并生成一个jar,其中包括{{1 }}。这一直到顶部。

CLASS项目仍将只包含一次已编译的子项目,但是:d文件夹也将包含所有中间JAR。

我已经使用root运行了构建,并且注意到JAR的打包在整个构建过程中花费了很多时间。

从属项目包含在这样的相关build\libs文件中(--profilebuild.gradle的示例)

项目C

:b

项目B

:c

实际上,整个项目大约由100个子项目组成,并且有大量相互依赖的项目。

有什么方法可以编译dependencies { compile project(':d') }文件而无需生成JAR?

任何帮助,将不胜感激。

所引用的可能重复的问题与多项目构建或项目间依赖性无关。

1 个答案:

答案 0 :(得分:0)

最后,我别无选择,只能将所有模块手动添加到类路径并像这样编译整个模块。编译时间过高。

我们正在考虑将所有内容隔离开来,使每个模块都是可以从内部工件导入的库。