2016-11-10 14 views
3

私はJDK9(9-ea + 143)を試しており、--add-modules java.xml.bindを設定する必要があります。私が試してみました:JDK9で--add-modulesのjvm引数を受け入れません

  • はgradle.propertiesでorg.gradle.jvmargs=--add-modules java.xml.bindを設定GRADLE_OPTS="--add-modules java.xml.bind '-Dorg.gradle.jvmargs=--add-modules java.xml.bind'"
  • を設定します。
  • 追加tasks.withType(Test) { jvmArgs '--add-modules java.xml.bind' }

テストはまだ失敗build.gradleするtasks.withType(JavaExec) { jvmArgs '--add-modules java.xml.bind' }を追加

  • build.gradleするbuild.gradleするtest { 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 
    
  • 答えて

    4

    の例のプロジェクトはそれが動作する必要があり:

    compileJava { 
        options.compilerArgs += ["--add-modules", "java.xml.bind"] 
    } 
    
    compileTestJava { 
        options.compilerArgs += ["--add-modules", "java.xml.bind"] 
    } 
    
    test { 
        jvmArgs += ["--add-modules", "java.xml.bind"] 
    } 
    

    する簡単な方法はありますか?

    EDIT:これも動作します:

    tasks.withType(AbstractCompile) { 
        options.compilerArgs += ["--add-modules", "java.xml.bind"] 
    } 
    
    tasks.withType(Test) { 
        jvmArgs += ["--add-modules", "java.xml.bind"] 
    } 
    
    関連する問題