亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Java 9中解決java.lang.NoClassDefFoundError:javax /

如何在Java 9中解決java.lang.NoClassDefFoundError:javax /

幕布斯6054654 2019-05-27 16:26:38
如何在Java 9中解決java.lang.NoClassDefFoundError:javax /我有一些代碼使用JAXB API類,它們是作為Java 6/7/8中JDK的一部分提供的。當我使用Java 9運行相同的代碼時,在運行時我得到錯誤,指示無法找到JAXB類。自Java 6以來,JAXB類已作為JDK的一部分提供,為什么Java 9不再能夠找到這些類?
查看完整描述

4 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

這對我有用:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version></dependency><dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>eclipselink</artifactId>
    <version>2.7.0</version></dependency>

更新

正如@Jasper建議的那樣,為了避免依賴整個EclipseLink庫,你也可以依賴于EclipseLink MOXy:

Maven的

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.moxy</artifactId>
    <version>2.7.3</version></dependency>

搖籃

compile group: 'org.eclipse.persistence', name: 'org.eclipse.persistence.moxy', version: '2.7.3'

作為我的Java 8應用程序的依賴項,它生成一個* .jar,它可以由JRE 8或JRE 9運行,沒有其他參數。

此外,這需要在使用JAXB API之前在某處執行:

System.setProperty("javax.xml.bind.JAXBContextFactory", "org.eclipse.persistence.jaxb.JAXBContextFactory");

到目前為止工作得很好,作為一種解決方法。雖然看起來不是一個完美的解決方案...


查看完整回答
反對 回復 2019-05-27
  • 4 回答
  • 0 關注
  • 1699 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號