Mar*_*rco 13 scala intellij-idea java-9
我试图将我的基于Scala/sbt的项目切换到Java 9.如果我使用sbt编译项目,它可以工作.
如果我尝试使用IntelliJ的Build选项构建项目,我会立即得到错误
Error:Module 'xyz' production: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
Run Code Online (Sandbox Code Playgroud)
我试图将模块添加为依赖项
libraryDependencies += "javax.xml.bind" % "jaxb-api" % "2.3.0"
Run Code Online (Sandbox Code Playgroud)
并添加到IntelliJ的编译器设置中(javac以及scala编译器)
  <option name="ADDITIONAL_OPTIONS_STRING" value="--add-modules java.xml.bind" />
Run Code Online (Sandbox Code Playgroud)
但不幸的是,没有帮助.
小智 15
把它作为一个临时建议的答案,除非有一个明确的解决方案,并将其他几点联系在一起.
似乎scala尚未完成,因为在scala/scala-dev中可以看到与JDK-9一起使用的准备就绪- 支持JDK 9
另一方面,解决依赖性的javax.xml.bind方式目前可分为两类: -
您的项目使用了一个库requires javax.xml.bind,在这种情况下,除了在重组之前等待该库移动到模块化结构之外,您手中没有太多东西.但是,这可以通过--add-modules javax.xml.bind作为编译器参数提供的选项暂时被攻击.
您的项目javax.xml.bind直接使用.在这种情况下,理想的解决方案是远离模块并相应地使用依赖[ jaxb-api:2.3.0]和重构代码.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           4174 次  |  
        
|   最近记录:  |