20

After installing JDK9, I get this exception when running my Scala projects. Upgrading Scala to 2.12.2 also didn't resolve my problem.

abshar
  • 467
  • 1
  • 4
  • 8

3 Answers3

29

You can add dependencies in maven

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
Matt Ke
  • 3,599
  • 12
  • 30
  • 49
Henboter
  • 289
  • 3
  • 4
11

The java.xml.bind module is not resolved by default when running code on the module path. This means that if you depend on JAXB then you need to run with --add-modules java.xml.bind or else deploy JAXB on the class path (or module path).

Update: The "Modules Shared with Java EE Not Resolved by Default" section of JDK 9 Migration Guide provides more information on this topic.

Alan Bateman
  • 5,283
  • 1
  • 20
  • 25
0

To add to the previous answer I would like to refer to the following answer: https://stackoverflow.com/a/43574427/3751268. I think it covers in details which is the desired way to provide libraries like the jaxb.

In particular for Scala, I add it like this to my libraryDependencies:

libraryDependencies += Seq("javax.xml.bind" % "jaxb-api" % "2.3.0")
aitorhh
  • 2,331
  • 1
  • 23
  • 35