XP bug 導致的java.lang.NoClassDefFoundError:javax/transaction/SystemException問題解決

XP bug 導致的java.lang.NoClassDefFoundError:

 

在一個項目測試中,本人開發機環境爲Windows 7,測試機爲Windows XP JDK版本都爲jdk1.6.0_14,但程序在本人機器運行正常,拿到測試機頻繁報出:

Exception in thread "ActiveCheckService-Thread" java.lang.NoClassDefFoundError:

javax/transaction/SystemException

檢查不缺少jta-1.1.jar文件,下面是run.bat文件,也沒有檢查出問題:

@echo off

cd ../lib    

set CLASSPATH=.

FOR /R "./" %%F IN (*.jar) DO call :addcp %%~sF

 

goto extlibe

 

:addcp

set CLASSPATH=%CLASSPATH%;%1

goto :eof

 

:extlibe

echo %classpath%

set JAVA_OPTS=%JAVA_OPTS% -Xverify:none  -Xms128m -Xmx512m -XX:MaxPermSize=384m -XX:PermSize=256m

java MainClass

1、  檢查系統中不缺少jta-1.1.jar文件;

2、  所有jar文件都確實加到了classpath

3、  其他服務啓動正常,只要涉及到jta相關的服務就出問題;

分析:確實是jta相關的類沒有加載,爲什麼沒有加載呢?文件系統中存在jta-1.1.jar,並且可以確定jta-1.1.jar沒有問題,而且在Windows 7下沒有問題,在Windows XP下面就出現了問題,於是想到了classpath,就把兩個環境下的classpath對比發現,在Windows 7下沒有問題,而在XP下卻出現了一下問題:

Windows 7

…;F:/work/PLMS_W~1/plms/READSE~1/lib/JTA-11~1.JAR;F:/work…

Windows XP

…;F:/work/PLMS_W~1/plms/READSE~1/lib/JTA-11~1.JARar;F:/work…

爲什麼會出現這個問題,其他的jar文件都沒有問題,唯獨jta-1.1.jar會變成jta-1.1.jarar,最後將jta-1.1.jar修改爲jta-1.1.0.jar,問題解決,但爲什麼會出現這個問題,認爲是Xp BUG?。

         該問題折騰了大半天,以此記錄爲鑑。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章