如何使用Gradle制作多版本JAR文件?
Java9引入了Multi-Release JAR 。
假设我有使用java8的多模块Gradle项目:
project-root settings.gradle build.gradle /module1 /src ... (common maven structure) /module2 /module3
这是Gradle中常见的多模块项目。 假设我需要module1
MR-Jar。
我不能添加针对Java9的module1 module1-java9
因为基础是8 – 到目前为止,我的Gradle和IntelliJ IDEA都抱怨。 Gradle是用java8编译的,但是我需要为模块启用java9运行时(不知道怎么做); 在IntelliJ IDEA中我可以为模块设置java9运行时,但每次重新加载gradle配置时它都会被覆盖。
而且,即使我以某种方式添加它,我需要指示module1
到1)构建第二个和2)包含module1-java9
。 以下是这种情况的图纸:
project-root settings.gradle build.gradle /module1 /module1-java9 (added java9 module) /module2 ...
或者,这可以在src-java9
下完成,具有不同的源: src
和src-java9
。 但我怀疑这是否会被接受。 这是一张图:
project-root settings.gradle build.gradle /module1 /src /src-java9 (added java9 source folder) /module2 /module3
到目前为止,我只看到module1-java9
是一个单独的项目(不是模块),而module1只是在那里调用gradle并获取输出。 是的,这是gradle调用gradle :)))
有没有开发人员友好的方式来做到这一点?
- Spring Tool Suite(STS) – 无法使用Gradle(Buildship)导入
- Gradle:如何从jar中排除特定包?
- “java.net.BindException:地址已经在使用:JVM_Bind”当我在eclipse mars中启动Jetty时
- 无法使用NetBeans 8.1的Gradle支持插件构建Gradle项目
- Eclipse插件开发 – Gradle无法从Eclipse启动器运行:java.io.IOException:拒绝访问
- 引起:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory
- Android Studio 2.3错误:无法加载“com.google.common.collect.ImmutableSet”类
- 将Gradle版本升级到3.0.0后编译错误
- 如何从IntelliJ IDEA启动Vert.x服务器?