2011-10-05 114 views
-1

我正在調試過程中並希望使環境路徑包含文件夾中的所有路徑,因爲我試圖運行的程序不合作並且是給極其模糊的錯誤,如:環境變量 - 如何將所有子文件夾包含在路徑中

未捕獲的錯誤獲取圖像:顯示java.lang.NullPointerException處 sun.awt.image.URLImageSource.getDecoder sun.awt.image.URLImageSource.getConnection(來源不明)(未知來源) sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)at sun.awt.image.ImageFetcher.run(來源不明)

此文件夾有很多子文件和子文件夾子文件夾 - 有一種簡單的方法來把所有這些路徑到PATH環境變量?我相信環境變量不包含子文件夾,我是否正確?如果有幫助,我正在使用Windows XP。

非常感謝您的時間。

回答

-1

我找到了我的問題的答案,只是想與你分享想要的事情,以免在將來幫助一個可憐的靈魂。

Uncaught error fetching image: java.lang.NullPointerException超級模糊。它表明圖像丟失。在執行程序時,我必須添加2個類路徑,但在最後一個末尾忘了逗號。因此,當我添加逗號時,程序似乎快樂地運行。

例如: java -cp「/ path/to/binfile」;「/ path/to/anotherbinfile」name.name1.name2.name2 給了我錯誤。

java -cp「/ path/to/binfile」;「/ path/to/anotherbinfile」; name.name1.name2.name2 修復了它。

1

您必須瞭解將目錄添加到PATH時會發生什麼情況。每次嘗試調用可執行文件(不指定絕對路徑時),全部按順序搜索PATH中的目錄,直到找到與該名稱匹配的可執行文件。你真的想要徹底的搜索嗎?

沒有軟件是如此複雜,你會強迫你在PATH中包含一個巨大的目錄層次結構。大多數項目可能有一個或一些包含二進制圖像的目錄。我的建議是找到你需要的確切目錄!

2

你幾乎肯定要對這個錯誤的方法:

  • 「路徑」變量是什麼命令shell用來尋找可執行文件。不是JAR文件,不是.class文件,不是源代碼,不是數據文件。只是可執行文件。

  • 您的異常不是由於缺少可執行文件引起的。

  • 堆棧跟蹤信息的缺乏不是由於缺少可執行文件引起的。

因此,將一大堆東西添加到PATH變量是不會幫助的。

但是,爲了回答你的問題:

有一種簡單的方法來把所有這些路徑到PATH環境變量?

我不知道是否適用於Windows。對於Linux,你可以通過一些簡單的腳本使用find等來做到這一點。但是像Windows那樣的東西在我的經驗中並不那麼容易。

我相信環境變量不包含子文件夾,我是否正確?

這不是一個有意義的問題。環境變量包括你輸入的任何字符。他們既不知道也不關心那些人物的意思。

另一方面,PATH環境是被Windows和Unix/Linux命令解釋爲作爲要搜索的命令的目錄列表。標準shell不搜索PATH目錄的子目錄。 (從理論上講,如果你喜歡這樣做,並且有幾周/幾個月/幾年的空閒時間,你可以實現一個shell。)

+0

感謝您的回覆。這是非常豐富的。是的,它看起來像我的例外不尋找一個遺漏的可執行文件,但對於一個缺失的圖像,我不知道它是什麼/它在哪裏。你有這個錯誤的經驗嗎? –

+0

您需要閱讀應用程序的代碼才能找出它所期望的圖像位置。我們不能爲你做到這一點。首先,我建議與開發人員交談或提出支持請求。 –

相關問題