我有一個.jar,我希望包含在使用maven2(pom.xml)的IDEA Web應用程序項目中。使用IDEA與maven2,如何添加非maven .jar?
如何添加一個.jar到我的項目中不使用maven?
我有一個.jar,我希望包含在使用maven2(pom.xml)的IDEA Web應用程序項目中。使用IDEA與maven2,如何添加非maven .jar?
如何添加一個.jar到我的項目中不使用maven?
你基本上有三種選擇:
安裝使用install:install-file
在你的本地庫的jar(見Guide to installing 3rd party JARs)。這非常簡單直接,但這會使您的POM不便攜。這可能是一個選項,如果你一個人,並不打算分發你的pom.xml。
使用deploy:deploy-file
將jar部署到公司存儲庫中。這當然是企業環境中的理想和首選方案。
如果您沒有使用公司存儲庫,但仍然在團隊中工作,請通過您的源代碼存儲庫共享它,setup a file based repository。
試圖猜測的問題是什麼:
1)你有罐子foo.jar中
2)你有一個非行家B項目要使用同一個罐子在Maven項目一(不使用maven)
3)你在windows?
如果這是真的,那麼:
圍棋從c:\documents and settings\your_username\.m2\name_of_jar,
抓住罐子,堅持在項目B的WEB-INF/lib目錄
最簡單的辦法就是用maven:install-file
安裝JAR在你的本地庫,如下(從被盜the docs:
mvn install:install-file -Dfile=path-to-non-maven.jar \
-DgroupId=some-id \
-DartifactId=some-artifact \
-Dversion=some-version \
-Dpackaging=jar
然後將其添加到您的POM像任何其他的依賴。如果需要與很多人分享,你可以合作。建議設立一個類似於Nexus或Artifactory(我們使用Artifactory的地方,它工作良好)的本地實例。
maven install:安裝文件非常適合將本地JAR添加到緩存,但是如果您在外部使用存儲庫(即Archiva或Nexus),那麼最好將它提供給所有人「mvn deploy:deploy-file」 - 該命令的類似參數。
剛剛在本地安裝意味着,如果因爲任何原因清除本地緩存(我已經結束多次這樣做來解決這個或那個本地緩存受損的問題),那麼你也會丟失本地的JAR並且需要記住重新添加它。如果它通過Nexus或Archiva存儲在本地DSL存儲庫中,則狀態良好 - 只需將生成的groupId,artifactId添加到POM中並繼續。
Google addjars maven plugin是個不錯的主意。這可以通過以下步驟完成:
將所有依賴關係添加到lib
文件夾代碼庫。
加入谷歌addjars插件來<build>
<plugin>
<groupId>com.googlecode.addjars-maven-plugin</groupId>
<artifactId>addjars-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<goals>
<goal>add-jars</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${basedir}/lib</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
mvn compile
現在將創建一個本地的回購協議,並添加所有罐子的依賴關係。然後mvn compile
將作爲魅力。
讓想法解決依賴關係去module settings -> modules -> dependencies
添加lib文件夾。
參考:https://code.google.com/archive/p/addjars-maven-plugin/issues