para - scala en intellij
Intellij: El proyecto Scala basado en SBT no se compila con Java 9 (3)
Intenté cambiar mi proyecto basado en Scala / sbt a Java 9. Si compilo el proyecto con sbt, funciona.
Si trato de construir el proyecto con la opción Build de IntelliJ, recibo inmediatamente el error
Error:Module ''xyz'' production: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
Intenté agregar el módulo como dependencia
libraryDependencies += "javax.xml.bind" % "jaxb-api" % "2.3.0"
y agregado en la configuración del compilador de IntelliJ (javac y el compilador scala)
<option name="ADDITIONAL_OPTIONS_STRING" value="--add-modules java.xml.bind" />
pero no ayuda, desafortunadamente.
- Abra [ Archivo -> Configuraciones -> Construir, Ejecución, Despliegue -> Compilador ]
- Agregue " --add-modules java.se.ee " a [ Opciones de VM de proceso de compilación compartida ]
Mover esto como una respuesta para servir como una sugerencia temporal a menos que haya una solución definitiva y agrupar algunos otros puntos.
Parece que Scala todavía no está completo en términos de disponibilidad para ser utilizado con JDK-9 como es visible en scala / scala-dev - Support JDK 9
Por otro lado, la forma de resolver la dependencia de javax.xml.bind
podría clasificarse actualmente en dos categorías:
Su proyecto utiliza una biblioteca que a su vez
requires javax.xml.bind
, en cuyo caso no hay mucho en sus manos que no sea esperar a que esa biblioteca se mueva a una estructura modular antes de su reestructuración. Sin embargo, esto puede ser temporalmente pirateado por la--add-modules javax.xml.bind
proporcionada como argumento del compilador.Su proyecto utiliza el
javax.xml.bind
directamente. En ese caso, la solución ideal es alejarse del módulo y utilizar la dependencia [jaxb-api:2.3.0
] y el código de refactorización en consecuencia.