溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java 11兼容舊項目的注意點有哪些

發(fā)布時間:2021-11-11 16:49:20 來源:億速云 閱讀:252 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹Java 11兼容舊項目的注意點有哪些,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

眾所周知,Oracle的Java8已經(jīng)停更,Java11是下一個LTS版本。近期打算對一些舊項目升級到Java11,在這里記下一些需要注意的兼容性問題

  1. javax.xml.bind.JAXBException ClassNotFound問題

JAXB api是java EE的API,在java SE 9中開始便不再包含這個包,在 6/7/8年代都是綁定在一塊的 解決方案就是手工添加jar包。 如果用的是maven,可以添加以下依賴

<!-- Java 6 = JAX-B Version 2.0   -->
<!-- Java 7 = JAX-B Version 2.2.3 -->
<!-- Java 8 = JAX-B Version 2.2.11 -->
<dependencies>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.2.11</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.2.11</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>2.2.11</version>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>
</dependencies>
  1. java.lang.NoClassDefFoundError: javax/xml/ws/EndpointReference異常

問題原因同上邊第1點描述一樣,從java9開始分離了,單獨引入即可

<dependency>
	<groupId>javax.xml.ws</groupId>
	<artifactId>jaxws-api</artifactId>
	<version>2.2.12</version>
</dependency>
  1. 關(guān)于com.sun.image.codes相關(guān)包的NoClassDefFound異常

這個問題貌似無解,找了很久沒有從maven倉庫找到可以替換的包,當(dāng)然這個好像是因為這是sun公司自己API,如果你用的是openjdk,那么問題迎刃而解。如果不幸你用的是oracle的JDK,那么還是更換相關(guān)類,使用java的imageIO相關(guān)API吧,或者更換相關(guān)依賴的組件。

  1. WebService相關(guān)包的NoClassDefFound異常

引入以下包解決

<dependency>
	<groupId>javax.xml.ws</groupId>
	<artifactId>jaxws-api</artifactId>
	<version>2.2.12</version>
</dependency>

<dependency>
	<groupId>javax.jws</groupId>
	<artifactId>javax.jws-api</artifactId>
	<version>1.1</version>
</dependency>

關(guān)于Java 11兼容舊項目的注意點有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI