2012-07-12 143 views
5

我有一堆第三方JAR文件(來自我使用的各種SDK的大約40個不同的JAR),位於硬盤上的一個文件夾中。我想在未來的Maven項目中將這些JAR聲明爲依賴項。將多個第三方JAR部署到全局(內部)Maven nexus

我無法從全球範圍內的全球Maven倉庫獲取這些JAR, Log4J,JUnit,Velocity等,因爲它們在那裏不可用。

如何將我的本地文件夾中的這些JAR文件導入我的公司全局(但內部)的Maven存儲庫(Nexus)?什麼是必要的步驟?如果可能的話,最好的解決方案將是一個程序化的解決方案。

我很困惑,我無法找到任何解決方案,我的問題使用谷歌,因爲我想這是一個非常普遍的問題。所以也許我在錯誤的方向思考。

非常感謝!

回答

9

您可以使用maven-install-plugininstall-file目標 - 請參閱example)將庫安裝到本地存儲庫。

您可以使用maven-deploy-plugindeploy-file目標 - 請參閱example)將庫部署到遠程存儲庫(Nexus)。

您也可以使用Nexus Web應用程序將庫上載到nexus(請參閱Nexus Book-Uploading Artifacts)。

+0

謝謝你的回覆,@FrVaBe。有沒有什麼辦法可以使用任何Maven API從Java執行此操作?我嘗試過使用Invoker,但根據[文檔](http://maven.apache.org/plugins/maven-invoker-plugin/),部署目標不受支持。 – HombreFab 2012-07-13 06:39:35

+0

@HombreFab我沒有編程執行maven任務的經驗,但應該可以在pom.build.plugin部分配置maven-deploy-plugin並觸發invoker:install目標。在你的情況下,對我來說最簡單的自動化方法似乎是執行不同'mvn deploy:deploy-file'命令的批處理腳本。 – FrVaBe 2012-07-13 06:58:13

+1

謝謝。我將遍歷Java中的JAR文件並通過[調用命令行]執行'mvn deploy:deploy-file'(http://www.linglom.com/2007/06/06/how-to-run -command-line-or-execute-external-application-from-java /)從每個文件直接從java。這將做到這一點。 – HombreFab 2012-07-13 07:09:54