【发布时间】:2017-08-15 11:11:36
【问题描述】:
安装 JDK9 后,我在运行 Scala 项目时遇到此异常。将 Scala 升级到 2.12.2 也没有解决我的问题。
【问题讨论】:
-
您可能希望 move to using
jaxb-api:2.3.0来理想地解决这个问题。
标签: java-9 scala-2.12
安装 JDK9 后,我在运行 Scala 项目时遇到此异常。将 Scala 升级到 2.12.2 也没有解决我的问题。
【问题讨论】:
jaxb-api:2.3.0 来理想地解决这个问题。
标签: java-9 scala-2.12
可以在maven中添加依赖
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
【讨论】:
要补充上一个答案,我想参考以下答案:https://stackoverflow.com/a/43574427/3751268。我认为它详细介绍了提供 jaxb 等库的所需方式。
特别是对于 Scala,我将它添加到我的 libraryDependencies:
libraryDependencies += Seq("javax.xml.bind" % "jaxb-api" % "2.3.0")
【讨论】:
在模块路径上运行代码时,默认情况下不解析java.xml.bind 模块。这意味着如果您依赖 JAXB,那么您需要使用 --add-modules java.xml.bind 运行,或者在类路径(或模块路径)上部署 JAXB。
更新:JDK 9 迁移指南的“Modules Shared with Java EE Not Resolved by Default”部分提供了有关此主题的更多信息。
【讨论】:
--add-modules java.se.ee
javaOptions in ThisBuild += "--add-modules=ALL-SYSTEM"
javaOptions in ThisBuild += "--add-modules=java.xml.bind" 会更好。请注意等号!使用 Java 版本“9.0.4”测试