繁体   English   中英

使用IDEA和maven2,如何添加非maven .jar?

[英]Using IDEA with maven2, how to add a non-maven .jar?

我想在我的IDEA Web应用程序项目中包含一个使用maven2(pom.xml)的.jar。

如何在不使用maven的项目中添加.jar?

最简单的方法是使用maven:install-file在本地存储库中安装jar,如下所示(从文档中窃取:

mvn install:install-file -Dfile=path-to-non-maven.jar \
                      -DgroupId=some-id \
                      -DartifactId=some-artifact \
                      -Dversion=some-version \
                      -Dpackaging=jar

然后像任何其他依赖项一样将它添加到您的POM中。 如果它需要与很多人共享,你可以考虑建立一个像NexusArtifactory这样的本地实例(我们在工作的地方使用Artifactory并且效果很好)。

你基本上有三个选择:

  • 使用install:install-file在本地存储库中install:install-file jar(请参阅安装第三方JAR的指南 )。 这非常简单易行,但这会使您的POM无法移植。 如果您独自一人并且不打算分发您的pom.xml,这可能是一个选项。

  • 使用deploy:deploy-file在公司存储库中deploy:deploy-file jar。 这当然是企业环境中的理想和首选方案。

  • 如果您没有使用公司存储库但仍在团队中工作,请设置基于文件的存储库并通过源存储库共享它。

谷歌addjars maven插件是个好主意。 这可以通过以下步骤完成:

  1. 将所有依赖项添加到lib文件夹代码库。

  2. 将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> 
  3. mvn compile现在将创建一个本地repo并将所有jar作为依赖项添加。 然后mvn compile将作为魅力。

  4. 为了让想法解决依赖关系转到module settings -> modules -> dependencies添加lib文件夹。

参考: https//code.google.com/archive/p/addjars-maven-plugin/issues

试着猜出问题是什么:

1)你有一个带有jar foo.jar的maven项目A.
2)你有一个非maven项目B,你想使用相同的jar(不使用maven)
3)你在窗户上?

如果是这样,那么:

c:\\documents and settings\\your_username\\.m2\\name_of_jar,抓取jar c:\\documents and settings\\your_username\\.m2\\name_of_jar,并将其粘贴到项目B的WEB-INF / lib目录中

maven install:install-file非常适合在缓存中添加本地JAR,但如果您在外部使用存储库(即Archiva或Nexus),那么最好通过“mvn deploy”将其提供给所有人: deploy-file“ - 该命令的类似参数。

只在本地安装意味着如果你出于某种原因清除你的本地缓存(我已经多次这样做以解决本地缓存损坏的这个或那个问题),那么你也松开了本地JAR并且需要记住重新添加它。 如果它通过Nexus或Archiva在本地DSL存储库中,那么你的状态很好 - 只需将生成的groupId,artifactId添加到POM中并继续。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM