我想在我的IDEA Web应用程序项目中包含一个使用maven2(pom.xml)的.jar。
如何在不使用maven的项目中添加.jar?
答案 0 :(得分:6)
最简单的方法是使用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并且效果很好)。
答案 1 :(得分:6)
你基本上有三个选择:
使用install:install-file
在您的本地存储库中安装jar(请参阅Guide to installing 3rd party JARs)。这非常简单易行,但这会使您的POM无法移植。如果您独自一人并且不打算分发您的pom.xml,这可能是一个选项。
使用deploy:deploy-file
在公司存储库中部署jar。这当然是企业环境中的理想和首选方案。
如果您没有使用公司存储库但仍在团队中工作,setup a file based repository并通过源存储库共享它。
答案 2 :(得分:5)
Google addjars maven插件是一个好主意。这可以通过以下步骤完成:
将所有依赖项添加到lib
文件夹代码库。
将Google 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
现在将创建一个本地仓库,并将所有jar作为依赖项添加。然后mvn compile
将成为魅力。
让想法解决依赖关系转到module settings -> modules -> dependencies
添加lib文件夹。
参考:https://code.google.com/archive/p/addjars-maven-plugin/issues
答案 3 :(得分:0)
试着猜出问题是什么:
1)你有一个带有jar foo.jar的maven项目A.
2)你有一个非maven项目B,你想使用相同的jar(不使用maven)
3)你在窗户上?
如果是这样,那么:
从c:\documents and settings\your_username\.m2\name_of_jar,
抓取jar并将其粘贴在项目B的WEB-INF / lib目录中
答案 4 :(得分:0)
maven install:install-file非常适合在您的缓存中添加本地JAR,但如果您在外部使用存储库(即Archiva或Nexus),那么最好将其提供给所有人“ mvn deploy:deploy-file“ - 该命令的类似参数。
只在本地安装意味着如果你出于某种原因清除你的本地缓存(我已经多次这样做以解决本地缓存损坏的这个或那个问题),那么你也松开了本地JAR,需要记住再次重新添加它。如果它通过Nexus或Archiva在本地DSL存储库中,那么你的状态很好 - 只需将生成的groupId,artifactId添加到POM中并继续。