2

我有一个毕业项目。该项目包含许多模块。我想制作 2 个不同的可执行文件,其中某些模块已激活或未激活。我有一个带有 module1 和 module2 的可执行文件,如下所示:

dependencies {
    compile project(':module1')
    compile project(':module2')
}

我想要一个带有 module1 和 module2 的可执行文件,而另一个只有 module1 的可执行文件。

为了生成可执行文件,我使用了 launch4j 和 shadowjar。

我怎么能这样做?

谢谢

4

1 回答 1

3

你可以使用我的java-flavors-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')
}

每种风味(例如版本 1 和版本 2)都会有一个 jar 任务,该 jar 可以被下游模块/任务使用。也可以参考sourceSets.version1.runtimeClasspath等。

注意:该插件支持特定于风味的 Java 源和资源。不确定您是否需要该功能。

于 2017-11-28T10:03:21.333 回答