簡體   English   中英

Java-從不同的Maven模塊讀取文件

[英]Java - read files from different maven modules

我有一個包含三個模塊的應用程序:模塊A,模塊B和模塊C(這是一個Web模塊)。 我正在使用Maven構建應用程序。

我實現了以下邏輯:使用maven依賴項將模塊A包含在模塊B中,並且也通過使用依賴項將模塊B包含在模塊C中(每個模塊都有單獨的pom文件)。 模塊C是被部署的模塊。

在Module CI中,希望有一個名為files的文件夾,其中將包含一些內容文件。 該特定文件夾將位於webapp文件夾下。 我希望能夠讀取模塊B中的這些文件。

有沒有辦法做到這一點? 我嘗試使用getClass()。getResourceAsStream(“ files / file_name”)讀取文件,但返回的值為null。

最干凈的解決方案:

  • 創建一個新的模塊D
  • 將文件放入D/src/main/resources/WEB-INF/
  • D添加為對B的依賴

這使得文件可以作為類路徑上的資源供B ,同時又使它們與其他所有文件分開。 請注意,要獲取文件,您必須使用

getClass().getResourceAsStream("/WEB-INF/...");

否則,Java將嘗試相對於當前類加載它們。

請注意, CD中沒有相同名稱的文件。 如果這樣做,那么Java選擇哪個文件可能會有些隨機。

您應該考慮將所有這些文件放到/src/main/resources目錄中,以便在部署時將這些文件放在應用程序類路徑中。 因此,您可以從B模塊中考慮所有這些文件在類路徑中都可用。

顯然,您必須考慮將這些文件復制到/src/main/resources模塊B的目錄中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM