2014-03-31 40 views
1

傳統的Java 5應用程序現在在移植到Java 7後引發異常。我在Java類中使用此代碼來返回URL。 URL可以是文件路徑或應用程序的代碼庫。 URL是文件路徑時會引發錯誤。這裏出了什麼問題? 它在Java 5中完美運行。Java 7 webstart

+2

「_An錯誤是thrown_」 哪些錯誤?它是一個錯誤還是異常?(您在文章中使用了兩個術語) – csmckelvey

+0

當URL嘗試查找文件路徑時,它會引發文件未找到異常。 java.io.FileNotFoundException:http:// urlforwebstartapp/filename \t .... at java.lang.Thread.run(Unknown Source) – user3375061

+0

您可以[編輯](http://stackoverflow.com/posts/22765459/編輯)你的問題,並添加整個堆棧跟蹤。它可能有助於解決您的問題。 – csmckelvey

回答

1

Sun長期以來一直在說「不要將應用程序資源放在應用程序安裝目錄!」中。

他們決定通過確保沒有小程序或應用程序在1.6(AFAIR)期間的某些時間使該建議稍微正式化一些。使用JWS進行部署可以獲得安裝路徑,即使它已經聲明所有權限!針對應用。如果嘗試過,JVM將'撒謊'並直接指向Jars第一次下載的地方,即使它們本地緩存並且JVM使用緩存中的文件。

所以,(根據該決定)應用程序。壞了,需要修復。如果你提出了一個錯誤報告,它將被關閉爲「不是一個錯誤」。

在一個側面說明:

URL fileurl = new URL(getCode() + file); 

也許應該是:

URL fileurl = new URL(getCode(), file);