![](/img/trans.png)
[英]Installing Maven Artifacts Into a Local Repository From Outside Of Any Project
[英]Maven: How to extract (not unpack) dependent artifacts to a separate folder from local repository
場景:我需要為另一個無法通過網絡訪問Maven公共存儲庫的開發人員准備一個可用且簡潔的本地存儲庫。 但是我計算機上的本地存儲庫約為20G,其中包含與項目無關的大部分工件。
AFAIK我可以使用mvn dependency:resolve
將依賴項僅下載到新的本地存儲庫位置,但是網絡流量有限,我不想浪費時間等待下載完成。 我用dependency:copy-dependencies
歌搜索了一段時間,然后嘗試了dependency:copy-dependencies
但是它僅復制jar文件,而不包含工件中的pom.xml文件和其他元文件。
我知道這種解決方法有點違背行家精神,但有時我們所有人都需要脫機工作。
如果您有所有jar的列表,則可以提取它們,暫時將其mv .m2安裝,並按照https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html進行安裝,給您的同事您當地的.m2,然后重命名您的舊.m2。
盡管很少見,但有時您會需要將第3方JAR放到本地存儲庫中以在構建中使用,因為它們在Maven Central等任何公共存儲庫中都不存在。 必須將JAR放置在本地存儲庫中的正確位置,以便Apache Maven可以正確拾取JAR。 為了使此操作更容易且不易出錯,我們在maven-install-plugin中提供了一個目標,該目標應使此工作相對簡單。 要在本地存儲庫中安裝JAR,請使用以下命令:
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
如果還有pom文件,則可以使用以下命令進行安裝:
mvn install:install-file -Dfile=<path-to-file> -DpomFile=<path-to-pomfile>
使用2.5版的maven-install-plugin會變得更好。 如果JAR是由Apache Maven構建的,則它將在META-INF目錄的子文件夾中包含pom.xml,默認情況下將讀取該子文件夾。 在這種情況下,您需要做的只是:
mvn install:install-file -Dfile=<path-to-file>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.