2017-03-23 30 views
10

JDK9'ı yükledikten sonra, Scala projemi çalıştırırken bu özel durumu anlarım. Scala'nın 2.12.2'ye yükseltilmesi de sorunumu çözmedi.java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter

+1

Bunu ideal bir şekilde çözmek için ** [jaxb-api: 2.3.0' kullanmaya geçme] (https://stackoverflow.com/a/46221811/1746118) ** 'yi kullanabilirsiniz. – nullpointer

+0

[Intellij: SBT tabanlı Scala projesi Java 9 ile oluşturulmuyor] 'un olası kopyası (https://stackoverflow.com/questions/46381242/intellij-sbt-based-scala-project-does-not-build-with- java-9) – user8664964

cevap

9

java.xml.bind modülü, modül yolunda kod çalıştırırken varsayılan olarak çözümlenmez. Bu, JAXB'ye bağlıysanız, --add-modules java.xml.bind ile çalıştırmanız veya JAXB'yi sınıf yoluna (veya modül yoluna) dağıtmanız gerektiği anlamına gelir.

Güncelleme: JDK 9 Geçiş Kılavuzu'nun "Modules Shared with Java EE Not Resolved by Default" bölümü bu konu hakkında daha fazla bilgi sağlar.

+2

Veya '--add-modules java.se.ee' – ZhekaKozlov

+0

teoride bu çözümdür, ancak java çalıştırırken scala/sbt'nin bu argümanı eklemesini nasıl istersiniz? –

+0

ThisBuild içinde javaOptions hakkında ne düşünüyorsunuz + = "--add-modules = ALL-SYSTEM" '' BuBuild içinde – Epicurist

İlgili konular