時當我嘗試使用Ant來構建我的項目生成的Java Ant腳本,我得到: 「java.lang.NoClassDefFoundError:太陽/組織/ Mozilla瀏覽器/ JavaScript的/內部/腳本化」問題鏈接到犀牛
這源於我使用Rhino(Oracle JDK附帶的捆綁java腳本)
- 當我使用eclipse構建項目時,一切正常。
- 我使用的ant文件是由eclipse生成的,並且除了java腳本依賴關係以外,還能正常工作。
- 這些依賴關係位於Oracle JDK附帶的RT.jar中。
- 我已經嘗試jdk6_0_u41和jdk7,都給出了相同的結果:在日食中的成功,與螞蟻失敗。
- 我試圖建立在兩個Ubuntu的10和12
我見過這似乎unacceptible給我另外兩個建議:
- 一個線程建議複製的rt.jar到項目的lib目錄。 (RT是整個java運行庫!)
- 另一個線程提示我不應該使用:sun/org/mozilla/javascript/internal。但由於我正在進行高級操作(調用對象方法,註冊回調等),我沒有選擇使用sun.org.mozilla.javascript.internal類的家庭。
隱藏原來的犀牛類是螞蟻使用相同的構建類路徑?考慮使用你自己的Rhino實現。 Java使[不保證](http://stackoverflow.com/a/6089959/304)關於哪些腳本引擎隨不同版本/實現提供。 – McDowell 2013-03-04 13:11:02
Ant文件是由eclipse生成的,所以我假定它使用相同的類路徑。除此之外,我只在生成機器上安裝了一個jdk(我竭盡全力確保openJDK未安裝)。因此,如果沒有JDK提供的RT.jar,java編譯器鏈接甚至是可能的? – eshalev 2013-03-05 07:09:47