在我的Maven項目中,有一個模塊(核心)有幾個類的資源。在模塊內部運行類時,它可以獲得自己的資源。一切正常。使用依賴關係的資源?
其中的東西中斷是依賴於內核的另一個模塊試圖運行該類。 Java正在尋找資源的文件夾是此模塊,而不是核心模塊。所以班級失敗了。
簡而言之:如何訪問依賴項的資源?
我已經試驗,試圖通過在覈心的JAR清單Class-Path: .
聲明來做到這一點。然而上市可用的資源時JSHookLoader.class.getClassLoader().getResources("");
(JSHookLoader是核心,如果這意味着什麼),我得到:
Resource: W:\programming\quackbot-hg\impl\target\classes
File rebel.xml
Resource: W:\programming\maven-repo\org\quackbot\core\3.5-SNAPSHOT
File core-3.5-SNAPSHOT.jar
File core-3.5-SNAPSHOT.pom
File maven-metadata-local.xml
File _maven.repositories
這當然如我所料的JAR本身是在類路徑複雜的事情,而不是目錄JAR在
有什麼建議嗎?
回到這個項目我仍然有這個問題。其他指南已經討論過使用maven-assembly-plugin和遠程資源插件,但是所有模塊都必須包含怪物插件XML,這是非常痛苦的。
爲什麼我不簡化問題:如何將一個依賴關係JAR添加到資源列表中?
- core.jar在文件夾/資源下面有一些資源。運行core.jar我可以看到資源列表中的資源。
- impl.jar依賴於core.jar。一旦運行它/資源不在資源列表中,因此會造成嚴重破壞。
這應該很簡單,但我該怎麼做呢?我花了幾個小時試圖找出一個簡單的乾淨的方式來做到這一點,但無濟於事。
返回的結果感謝您發佈您的解決方案!我有這個確切的問題,並找到了答案......但它是用maven術語寫的,我正在努力破譯它。 – CaffiendFrog 2014-01-28 23:06:05
使用此時請注意循環依賴關係。您可能會遇到困難。 – Michael 2017-12-04 17:47:30