2014-01-08 131 views
1

如何在IntelliJ IDEA中將外部JAR文件添加爲Maven項目的依賴項?因爲當我將它添加到依賴項列表中並嘗試使用Maven進行編譯時,我得到一個錯誤,指出無法找到該依賴項。Maven項目中的非Maven依賴關係

回答

1

您可以

  • 定義系統/局部依賴這樣的:

    <dependency> 
        <groupId>example</groupId> 
        <artifactId>example</artifactId> 
        <version>1.0.0</version> 
        <scope>system</scope> 
        <systemPath>lib/example-1.0.0.jar</systemPath> 
    </dependency> 
    

由於Gimby指出的,要知道,系統的依賴,預計「只是在那裏',因此它們不會被打包並與您的工件一起部署。請參閱this question以供參考。

  • 安裝神器到本地回購:

    mvn install:install-file -Dfile=<path-to-file> \ 
            -DgroupId=<myGroup> \ 
            -DartifactId=<myArtifactId> \ 
            -Dversion=<myVersion> \ 
            -Dpackaging=<myPackaging> \ 
            -DlocalRepositoryPath=<path-to-my-repo> 
    
+2

關於系統範圍的建議是:在http://stackoverflow.com/questions/3642023/having-a-3rd強制性閱讀-party-jar-included-in-maven-shaded-jar-without-add-it-to-local-r – Gimby

+0

絕對,感謝信息Gimby – kostja

1

理想情況下,您應該使用mvn deploy:deploy-file將JAR部署到您的存儲庫。

如果這是不可能的,您可以將依賴關係scope設置爲system,然後在依賴項中包含systemPath,該依賴項將該路徑提供給jar。這在POM Reference - dependencies中有解釋,並且帶有一個警告,即任何取決於具有system範圍依賴關係的工件的工件也將通過systemPath期望找到該jar。