我正在开发一个针对JDK 8的Java库,我正在使用OpenJDK 11在Gradle 5中构建它。为了瞄准JDK 8,我是javac的--release选项。
但是,我也希望我的库与JPMS兼容。换句话说:
我想提供一个编译的(斯蒂芬·科尔伯恩量表的选项3),module-info.class--release 9
而其余的都是用 编译的。--release 8
断续器
build.gradle:
plugins {
id 'java'
id 'org.javamodularity.moduleplugin' version '1.4.1' // *
}
repositories {
mavenCentral()
}
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.6'
}
compileJava.options.compilerArgs.addAll(['--release', '9']) // **
* org.javamodularity.moduleplugin sets for--module-pathcompileJava
**目前还没有Gradle DSL:#2510--release
src/main/java/module-info.java:
module pl.tlinkowski.sample {
requires lombok;
exports pl.tlinkowski.sample;
}
src/main/java/pl/tlinkowski/sample/Sample.java:
package pl.tlinkowski.sample;
@lombok.Value
public class Sample {
int sample;
}
此 MCVE 编译,但所有类(而不是仅)都采用 JDK 9 类格式 (v.53)。module-info.class
我想做的当然是可能的:
马文
例如ThreeTen-Extra(他们的方法归结为:首先编译所有内容,然后编译除使用之外的所有内容)。--release 9
module-info.java
--release 8
蚂蚁
例如,龙目岛(他们的方法归结为:在单独的“源代码集”中拥有 - 主源代码集编译,“模块信息”源代码集编译)。module-info.java
--release 8
--release 9
慕斯709654
杨魅力
相关分类