[英]JDK9 Automatic Modules and "Split Packages" Dependencies
我正在轉換一個 java 項目以使用模塊。 我的一個模塊依賴於hamcrest
庫,它需要兩個 jar 文件hamcrest.core
和hamcrest.library
。 這兩個 jar 文件都有org.hamcrest
包。 因此,當我的模塊想要將這兩個 jar 視為自動模塊時,它會失敗,因為模塊路徑中的兩個模塊不能有同名的包。 我搜索了很多,在stackoverflow上找到了一些相關的東西。 如果我不想重建這些依賴項,我似乎有兩個合理的選擇:
所以這里是我的問題:
提前致謝
好的,我終於設法解決了這個問題:
hamcrest-all
的新 maven 模塊,並添加對hamcrest-core
和hamcrest-library
依賴。maven-assembly-plugin
添加到此模塊, appendAssemblyId
設置為 false。hamcrest-core
和hamcrest-library
依賴,而是添加對hamcrest-all
依賴。hamcrest-all
依賴時,排除hamcrest-core
和hamcrest-library
。 它的實際作用是將hamcrest-core
和hamcrest-library
解壓到為hamrest-all
創建的 jar 文件中。 並且因為每個 jar 文件都被 JMPS 視為一個模塊,所以問題消失了:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.