2011-09-10 85 views
2

在某些機器上運行此小程序將無法正常工作,但在某些其他計算機上工作得很好。在所有情況下看起來像JRE 1.6.0_26已經安裝。在某些計算機上加載小程序時發生ClassNotFoundException

<script type="text/javascript" src="http://www.java.com/js/deployJava.js"></script> 
<script> 
var attributes = {codebase:'http://kash-dev/applet/', 
     code:'Auth.class', 
    archive:'Auth.jar', 
    id: 'auth', 
    width:0, height:0} ; 
    var version = '1.6' ; 
deployJava.runApplet(attributes, null, version); 
</script> 

這裏的錯誤:

load: class Auth.class not found. 
java.lang.ClassNotFoundException: Auth.class 
     at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
     at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) 
     at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
     at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
     at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
     at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 
Exception: java.lang.ClassNotFoundException: Auth.class 
+1

有些愚蠢的問題,所有的機器都可以訪問位於你開發服務器上的jar嗎?嘗試使用JNLP作爲替代方案。 –

+1

嘗試在java控制面板中遇到麻煩的機器上關閉jar緩存。如果這樣做後,它有效,你有舊的jar版本緩存。 – MeBigFatGuy

+0

所有的客戶端機器都在同一個網絡上,可以看到kash-dev。 – Kash22

回答

0

事實證明,即使Java地址/端口的設置與「瀏覽器設置」中設置的設置相同,Java控制面板中的網絡代理設置也被設置爲「用戶代理服務器」能夠正確解析JAR文件的URL。切換到「使用瀏覽器設置」解決了問題。謝謝所有回答。

1

我會仔細檢查在每個機器上的Java版本。我唯一一次看到這種類型的錯誤 - 一臺計算機上的ClassNotFound而不是另一臺計算機 - 是當Java小程序或JAR由Java以後的版本編譯而不是安裝了Java的時候。試圖使用Java 6

+0

我使用1.6.0_15編譯applet,除了運行java插件1.6.0_26和JRE 1.6.0_26-b03 – Kash22

2
  1. http://kash-dev/applet/的機器上運行Java 7編譯的小程序/罐是不是一個真正的URL,所以我很驚訝,它適用於任何計算機
  2. width:0, height:0任何自我尊重的垃圾郵件抑制軟件(病毒檢查等)將靜靜地自動刪除0大小的HTML元素。給它10x10的大小,並使用CSS來隱藏它(可能使用display屬性,但更好的方法是將它移動到「離開頁面」的位置 - 例如將它放在相對於頂部的-50和-50處頁面的左角)。
+0

之外的客戶端kash-dev是本地網絡上的主機,因此它可以解析。 – Kash22

+0

@ Kash22你有沒有修正applet的寬度和高度? –

+0

還沒有,但我不明白這是如何與我的問題有關。如果如你所說,抑制軟件是由於「寬度/高度爲0」從頁面中「刪除」元素,那麼Java插件甚至不應該在第一個地方生成類未發現異常 – Kash22

相關問題