2013-11-04 121 views
1

我有2個屬性文件,它們是我的Eclipse eclipse項目的一部分。現在我需要將這兩個文件的路徑作爲-Dpath1="pathfile1"這樣的系統屬性傳遞,因爲項目只會將其作爲系統屬性接受。 一個選項是我可以指定絕對路徑,但我想指定一個相對於我的項目的路徑,如-Dpath1=$Project_Dir/resource/file1。原因是,如果項目目錄被移動,那麼項目將開始失敗。需要將路徑設置爲java項目的系統屬性

我使用eclipse來運行這個項目,並且不想聲明任何新的系統變量來支持相對路徑,所以例如不想創建一個新的系統變量Project_Dir。是否有可能實現這一點以及如何?

回答

1

您可以設置系統屬性:

System.setProperty("path1", yourPathHere); 

現在,你只需要建立正確的路徑,相對於您的項目。爲此,請從項目位置開始:How to get the path of a running JAR file?

0

是的,你可以做到這一點.Eclipse有內置的路徑變量PROJECT_LOC,它存儲項目文件夾的位置,e.x. C:\工作區\ PROJECT1。 您可以在啓動配置中使用此屬性。

0

使用setProperty時,如果使用普通相對路徑,則可以引用內部項目文件。

E.g.引用位於/abc/def/workspace/project/lib/driver.exe文件:

System.setProperty("driver", "lib/driver.exe");

這是欺騙性簡單。