我有以下情形:與本地的依賴和複製Maven項目文件
MYLIB是一個庫(對此我有來源,所以我想將它們放到一個Maven項目MYLIB:例如MYLIB )。這個庫有一個jar依賴項,我只有這個jar,並且它不在Maven倉庫中找到(我也不想在那裏安裝它)。爲了進行編譯,類似這樣的工作將會起作用:將jar文件添加到「lib」文件夾中的mylib項目中,例如「lib/thirdpartylib.jar」和mylib的pom.xml中,添加一個自選組/ artifact /版本和一個「<scope>system</scope><systemPath>${project.basedir}/lib/thirdpartylib.jar</systemPath>
」條目的依賴關係。 mylib項目會很好地編譯。
請注意,mylib還具有運行時依賴於dll文件,如thirdparty.dll。但是編譯這個並不重要。
不過,現在我想知道如何實現以下目標:
任何其他項目,例如項目 「X」,即使用 mylib中,將需要
- mylib.jar
- thirdpartylib.jar
- thirdpartylib.dll
,
,它會具有對的java.library.path設置的目錄(如 「」),使得第三方的jar和dll被執行的VM找到。
我的擔心是這樣的:我想第三方jar/dll的東西是mylib項目的責任。即我想定義知識,你需要將第三方jar和dll複製到目標文件夾,並且java.library.path引用它們,作爲mylib項目的一部分(mylib pom知道該怎麼做用於其他項目)。然而,我想要這些知識(即複製指令,無論它們在Maven中如何精確完成)通過mylib傳遞給任何其他項目,例如X.這是否有可能?
[我現在黑客的解決方案將是我在X的第三方東西的清單,但即使如此,我不知道如何複製/處理DLL文件,所以我不得不寫自述說,該dll文件必須被複制到正在執行的虛擬機的bin文件夾中)。
任何建議表示讚賞!
我堅持你的解決方案,謝謝你。 – mtrovo