java.lang.NoClassDefFoundError:javax / xml / bind / DatatypeConverter

时间:2017-03-23 03:45:45

标签: java-9 scala-2.12

安装JDK9后,运行Scala项目时出现此异常。将Scala升级到2.12.2也无法解决我的问题。

3 个答案:

答案 0 :(得分:11)

在模块路径上运行代码时,默认情况下不会解析V模块。这意味着如果依赖于JAXB,则需要使用java.xml.bind运行,或者在类路径(或模块路径)上部署JAXB。

更新:" Modules Shared with Java EE Not Resolved by Default" “JDK 9迁移指南”部分提供了有关此主题的更多信息。

答案 1 :(得分:5)

您可以在Maven中添加依赖项

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>

答案 2 :(得分:0)

要添加到上一个答案,我想参考以下答案:https://stackoverflow.com/a/43574427/3751268。我认为它详细介绍了提供jaxb之类的库的理想方式。

尤其是对于Scala,我将其添加到libraryDependencies中:

libraryDependencies += Seq("javax.xml.bind" % "jaxb-api" % "2.3.0")