我有一个 gradle 项目。该项目包含许多模块。 我想制作两个不同的可执行文件,其中某些模块已激活或未激活。 我有一个包含 module1 和 module2 的可执行文件,如下所示:
dependencies {
compile project(':module1')
compile project(':module2')
}
我想要一个包含 module1 和 module2 的可执行文件,以及另一个仅包含 module1 的可执行文件。
为了生成可执行文件,我使用了 launch4j 和 Shadowjar。
我怎样才能做到这一点?
谢谢
最佳答案
你可以使用我的 java-flavours-plugin
plugins {
id "com.lazan.javaflavours" version "1.2"
}
javaFlavours {
flavour 'version1'
flavour 'version2'
}
dependencies {
compile 'some:common-dependency:1.0'
version1Compile project(':module1')
version2Compile project(':module2')
}
每个 flavor (例如版本1和版本2)都会有一个jar任务,该jar可以被下游模块/任务消耗。您还可以引用sourceSets.version1.runtimeClasspath
等。
注意:该插件支持特定风格的 java 源和资源。不确定您是否需要该功能。
关于java - 两种配置编译gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47511043/