簡體   English   中英

applet無法從jar加載類

[英]applet fails to load class from jar

有些用戶抱怨applet不再有效,當他們查看java控制台時會遇到java.lang.noClassDefFoundError並檢查我的訪問日志,我看到他們已經下載了包含該類的jar文件,然后發出了get請求特定的課程。

不同的用戶打破不同的類。

有些用戶很好。

任何想法可能導致這個/解決這個問題。

我已經檢查過以確保文件在他們的java緩存中,清除了緩存等。似乎沒有什么能解決它們。

如果他們遇到qa網站,它也會破壞。

jar正在傳輸中被破壞,我們正在尋找從服務器的oracle / bea獲取補丁。

看來,如果連接太慢(調制解調器速度),weblogic將通過發送len = 0的數據包來指示傳輸結束。

網絡將通知java表示下載已成功完成,然后java失敗並出現java.lang.noClassDefFoundError。

如果可以加載類本身但是該類的某些依賴性不能,則會發生這種情況。 是否有依賴的外部JAR?

你確定jar文件包含所有必要的類嗎? 在您喜歡的Zip應用程序中打開它並仔細檢查。 也許這個罐子的最近版本搞砸了並且沒有其中的所有內容。

我假設你的措辭已經做了一些更新。 某些用戶很可能已緩存了之前的Jar文件。

在實時配置中部署新的applet版本時,我執行以下操作:

  1. 確保不緩存包含applet的頁面 - 使用HTTP no-caching技術 您可能希望從包含這些標頭的新頁面重新部署,以確保不是這種情況。
  2. 為每次更新從不同的URL部署jar文件(我在目錄中編碼版本號,但您可以同樣重命名jar文件)。
  3. 如果applet執行任何客戶端服務器交互,請確保檢查版本號並向用戶報告不正確的版本。

即使您遵循此操作,用戶可能仍然遇到問題,請他們一次嘗試這些問題(按照他們應該嘗試的順序列出):

  1. 按瀏覽器窗口上的刷新。
  2. 重啟所有瀏覽器窗口
  3. 卸載“添加/刪除程序”中找到的所有 Java VM並重新安裝最新的Java(是的,他們必須自行承擔風險!)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM