真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

xml解析jar在oraclelinux下jar包沖突怎么辦

本篇內(nèi)容介紹了“xml 解析jar 在oracle linux 下jar包沖突怎么辦”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

洞頭網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。

收到這個(gè)bug后,仔細(xì)看了一下日志文件,是在tomcat啟動(dòng)的時(shí)候,spring進(jìn)行初始化applicationcontaxt.xml,編碼轉(zhuǎn)換錯(cuò)誤。

由于這個(gè)這個(gè)項(xiàng)目在其他平臺(tái)是可以運(yùn)行的,初次判斷是環(huán)境問(wèn)題。

做了如下嘗試

1、發(fā)現(xiàn)tomcat的版本是windows版本,所有版本換為相同版本的linxu .

2、發(fā)現(xiàn)jdk版本,這本機(jī)的不太一樣,換了一個(gè)jdk1.8最新的版本。

發(fā)現(xiàn)問(wèn)題依然存在。

做2次思考,既然是編碼問(wèn)題,那么就改一下編碼:

1、給tomcat啟動(dòng)參數(shù)里添加fileecncoding=UTF-8編碼參數(shù)

2、修改linux操作系統(tǒng)編碼

     /etc/profile

export LC_ALL="zh_CN.GBK"
export LANG="zh_CN.GBK"

修改

/etc/sysconfig/i18n

LANG="zh_CN.GBK"
LANGUAGE="zh_CN.GBK;zh_CN.GB18030;zh_CN.GB2312;zh_CN"

3、寫(xiě)了一個(gè)jdk一個(gè)簡(jiǎn)單的程序,讀取操作系統(tǒng)的編碼,以確定 tomcat 能正確的讀取編碼。

問(wèn)題依然沒(méi)有解決

進(jìn)行第三次思考,仔細(xì)看了一下tomcat的日志 

Caused by: oracle.xml.parser.v2.XMLParseExceptionpublicId: -//SPRING//DTD BEAN//EN; systemId: http://www.springframework.org/dtd/spring-beans.dtd; lineNumber: 1; columnNumber: 38; Illegal change of encoding: from gb2312 to UTF-8.

仔細(xì)的看了一下xmlparser2的代碼,沒(méi)有發(fā)現(xiàn)異?,F(xiàn)象。

又仔細(xì)的看了一下applicationcontent.xml,和第一個(gè)報(bào)錯(cuò)的文件TopOA_Routine.xml,發(fā)現(xiàn) applicationcontent.xml 文件的編碼格式為utf8,TopOA_Routine.xml的文件格式為gbk,也就是異常里報(bào)的gb2312轉(zhuǎn)utf-8錯(cuò)誤。大概知道原因,因?yàn)榈谝粋€(gè)是utf-8,所以后面的都按照utf-8處理了。

推斷:操作系統(tǒng)在讀取文件,或線(xiàn)程共享的時(shí)候,做了一些處理。

總結(jié):如果是java項(xiàng)目,非特殊要求,全部都utf8,數(shù)據(jù),項(xiàng)目代碼,資源文件。至于說(shuō)大部分操作系統(tǒng)都能成功處理,個(gè)別無(wú)法處理,只能說(shuō)測(cè)試未完全覆蓋。

最后標(biāo)注一下環(huán)境tomcat9.0.12,jdk1.8.0_212-b10,操作系統(tǒng)在centos ,ubuntu是OK的,在     Oracle Linux Server release 6.4

問(wèn)題最終解決:

造成這個(gè)錯(cuò)誤的原因時(shí)jar包沖突  

javax.xml.parsers.DocumentBuilder 的實(shí)現(xiàn)jar包有xmlparser2.jar和 xml-apis ,   xercesImpl-2.8.1.jar 里 

問(wèn)題的發(fā)生時(shí)因?yàn)?oracle linux 在加載jar包的時(shí)候,不知道為什么優(yōu)先加載的xmlparser2.jar所以報(bào)錯(cuò)了。

解決方案:-Xbootclasspath/p:/lib/xercesImpl-2.8.1.jar

使用Xbootclasspath 指定 xercesImpl優(yōu)先加載,問(wèn)題解決。

“xml 解析jar 在oracle linux 下jar包沖突怎么辦”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


本文名稱(chēng):xml解析jar在oraclelinux下jar包沖突怎么辦
轉(zhuǎn)載源于:http://weahome.cn/article/jecoje.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部