2015-12-14 16 views
2

我想使用我的war文件以外的一些文件。它位於如何在碼頭服務器上使用war文件之外的文件?

/opt/jetty/webapps 

比方說,我希望把一些文件放到

/opt/jetty/resources 

,並從我的項目中使用它們。我如何從Java代碼訪問它們?當我在部署項目中使用的完整路徑,它不工作(沒有日誌記錄完成,沒有錯誤):

Files.readAllBytes(Paths.get("/opt/jetty/resources/config")) 
+0

將WAR部署到不同的容器時會發生什麼?或通過網絡?您必須在容器的命令行選項(可能位於/ etc/myApp/...')中提供指向「根」配置的指針,並指向根配置中的所有外部文件。 –

+0

@JimGarrison,我只是把戰爭文件放入webapps目錄並重新啓動jetty服務。它會自動發現戰爭。 – LEQADA

+0

如果你想引用外部資源,你仍然需要提供一個外部配置(不是WAR的一部分)。必須提供指向這些外部資源的指針,並且這些位置必須在運行時才能被發現。 –

回答

1

如果需要讀取文件系統的一個文件,你可以直接訪問它。如果您的servlet沒有在您的服務器上看到該文件,但在IDE中看到該文件,則可能存在特權/訪問權限問題。

如果您的服務器在不同的用戶下運行,請確保它有權讀取和寫入請求文件。否則,你將有一個Permission Denied錯誤。

相關問題