2012-07-01 108 views
1

我在一個Java項目中有幾個路徑變量,在Linux上工作得很好。這些變量存儲在.properties文件中,並在Spring應用程序上下文中使用。下面是一個名稱變量的例子:just.an.example=/home/username/settings/。很簡單,對吧?我試圖在Windows機器上運行這個應用程序。我嘗試了以下內容:just.an.example=d:/settings/,just.an.example=d\:/settings/,just.an.example=d\:\\settings\\,just.an.example=file:///d:/settings/和幾個,其中沒有一個工作。Linux和Windows上的路徑變量

我得到NullPointerException,這是嘗試使用文件夾中的文件(這使我認爲該文件夾無法看到)的原因。更具體地說,這些變量被用作File類構造函數的參數。訪問文件夾的權限是默認的,我只是創建它們。

這個例子變量的工作選項是什麼?

更新:它最終與just.an.example=D:/settings/工作,無論如何我得重新安裝後重新導入Maven項目,不僅要更新的依賴,但在這種情況下D:/settings/工作正常。

+0

嘗試D:\\設置\\ - 請參閱特殊字符和轉義部分在這裏 - http://commons.apache.org/configuration/userguide/howto_properties.html – verisimilitude

+0

基本上d:/ settings /應該工作得很好,通常重新啓動計算機有所幫助。 – Tomer

+0

@ ftom2那麼,不,這可能不應該工作。它與重新啓動有什麼關係? –

回答

1

如果/home/username/settings/等於D:/settings/,則最後一個是正確的。正斜槓正常工作,我已經做了很多次這種類型的事情。如果你可以通過Windows資源管理器訪問D:/settings/,那麼Java應該也能夠。嘗試在Windows資源管理器中粘貼D:/settings/,看看會發生什麼。

+0

是的,我知道它應該,但它不起作用。我會試着找出調試下的原因。 –