Gradle不尊重JDK9中的–add-modules jvm参数
我正在尝试JDK9(9-ea + 143),并且需要设置--add-modules java.xml.bind
。 我试过了:
- 设置
GRADLE_OPTS="--add-modules java.xml.bind '-Dorg.gradle.jvmargs=--add-modules java.xml.bind'"
- 设置
org.gradle.jvmargs=--add-modules java.xml.bind
在gradle.properties中org.gradle.jvmargs=--add-modules java.xml.bind
。 - 将
test { jvmArgs '--add-modules java.xml.bind' }
到build.gradle - 将
tasks.withType(Test) { jvmArgs '--add-modules java.xml.bind' }
到build.gradle - 将
tasks.withType(JavaExec) { jvmArgs '--add-modules java.xml.bind' }
到build.gradle
测试仍然失败。 我错过了什么?
我在https://github.com/henrik242/gradle-jdk9-test-problem中有一个示例项目
✨ ./gradlew build :compileJava /foo/gradle-jdk9-test-problem/src/main/java/SomeClass.java:1: error: package javax.xml.bind does not exist import javax.xml.bind.ValidationException; ^ /foo/gradle-jdk9-test-problem/src/main/java/SomeClass.java:5: error: cannot find symbol public void doStuff() throws ValidationException { ^ symbol: class ValidationException location: class SomeClass /foo/gradle-jdk9-test-problem/src/main/java/SomeClass.java:6: error: cannot find symbol throw new ValidationException("msg"); ^ symbol: class ValidationException location: class SomeClass 3 errors :compileJava FAILED
将以下内容添加到build.gradle时,它可以正常工作:
compileJava { options.compilerArgs += ["--add-modules", "java.xml.bind"] } compileTestJava { options.compilerArgs += ["--add-modules", "java.xml.bind"] } test { jvmArgs += ["--add-modules", "java.xml.bind"] }
有更容易的方法吗?
编辑:这也有效:
tasks.withType(AbstractCompile) { options.compilerArgs += ["--add-modules", "java.xml.bind"] } tasks.withType(Test) { jvmArgs += ["--add-modules", "java.xml.bind"] }
- CTRL + C w / Spring Boot&Gradle Kills Gradle Daemon
- 引起:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory
- Spring引导Hibernate错误java.lang.NoSuchMethodError:javax.persistence.JoinColumn.foreignKey()Ljavax / persistence / ForeignKey;
- Gradle Build对于任务应用程序失败:processReleaseResources
- 如何通过Gradle测试任务在我的JUnit上启用调试
- 无法为参数org.gradle.api.Project找到方法android()
- 使用缓存的依赖项和gradle上的插件运行黄瓜测试
- Gradle – Groovy和Java类依赖 – 编译
- 无法使用NetBeans 8.1的Gradle支持插件构建Gradle项目