相关疑难解决方法(0)

如何在Java 9中解决java.lang.NoClassDefFoundError:javax/xml/bind/JAXBException

我有一些代码使用JAXB API类,它们是作为Java 6/7/8中JDK的一部分提供的.当我使用Java 9运行相同的代码时,在运行时我得到错误,指示无法找到JAXB类.

自Java 6以来,JAXB类已作为JDK的一部分提供,为什么Java 9不再能够找到这些类?

java jaxb java-9 java-10 java-11

718
推荐指数
27
解决办法
46万
查看次数

Gradle 不支持 JDK9 中的 --add-modules jvm 参数

我正在尝试 JDK9 (9-ea+143),并且需要设置--add-modules java.xml.bind. 我努力了:

\n\n
    \n
  • 环境GRADLE_OPTS="--add-modules java.xml.bind \'-Dorg.gradle.jvmargs=--add-modules java.xml.bind\'"
  • \n
  • 环境org.gradle.jvmargs=--add-modules java.xml.bind
  • \n
  • 添加test { jvmArgs \'--add-modules java.xml.bind\' }到 build.gradle
  • \n
  • 添加tasks.withType(Test) { jvmArgs \'--add-modules java.xml.bind\' }到 build.gradle
  • \n
  • 添加tasks.withType(JavaExec) { jvmArgs \'--add-modules java.xml.bind\' }到 build.gradle
  • \n
\n\n

测试仍然失败。我缺少什么?

\n\n

我在https://github.com/henrik242/gradle-jdk9-test-problem中有一个示例项目

\n\n
\xe2\x9c\xa8  ./gradlew build\n:compileJava\n/foo/gradle-jdk9-test-problem/src/main/java/SomeClass.java:1: error: package javax.xml.bind does not exist\nimport javax.xml.bind.ValidationException;\n                     ^\n/foo/gradle-jdk9-test-problem/src/main/java/SomeClass.java:5: error: cannot find symbol\n  public void doStuff() throws ValidationException {\n                               ^\n  symbol:   class …
Run Code Online (Sandbox Code Playgroud)

java jvm jvm-arguments gradle java-9

4
推荐指数
1
解决办法
3166
查看次数

标签 统计

java ×2

java-9 ×2

gradle ×1

java-10 ×1

java-11 ×1

jaxb ×1

jvm ×1

jvm-arguments ×1