在Maven中添加一个依赖项

我如何把一个我有的jar文件,并将其添加到maven 2中的依赖系统? 我将成为这个依赖的维护者,我的代码需要在类path中使用这个jar,以便编译。

你必须分两步来做:

1.给你的JAR一个groupId,artifactId和version,并把它添加到你的仓库。

如果您没有内部存储库,并且只是试图将JAR添加到本地存储库,则可以使用任意的groupId / artifactIds如下进行安装:

mvn install:install-file -DgroupId=com.stackoverflow... -DartifactId=yourartifactid... -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/jarfile 

您也可以将其部署到您的内部存储库(如果有),并且希望将其提供给组织中的其他开发人员。 我只是使用我的存储库的基于Web的界面添加工件,但你应该能够使用mvn deploy:deploy-file ...来完成同样的事情。

2.更新依赖项目以引用此JAR。

然后通过向元素添加以下内容来更新使用JAR的项目的pom.xml中的依赖项:

 <dependencies> ... <dependency> <groupId>com.stackoverflow...</groupId> <artifactId>artifactId...</artifactId> <version>1.0</version> </dependency> ... </dependencies> 

你也可以在一个Maven仓库中指定一个依赖项。 没有用于你的团队的中央Maven仓库或者你有一个CI服务器时可能是有用的

  <dependency> <groupId>com.stackoverflow</groupId> <artifactId>commons-utils</artifactId> <version>1.3</version> <scope>system</scope> <systemPath>${basedir}/lib/commons-utils.jar</systemPath> </dependency> 

其实在调查的时候,我觉得所有这些答案都是不正确的。 你的问题是误导,因为我们对maven的理解程度。 我说我们,因为我刚刚被介绍给maven

Eclipse ,当你想添加一个jar文件到你的项目时,通常你手动下载jar,然后把它放到lib目录下。 有了maven,你不这样做。 这是你做的:

  • 去mvnrespoitory
  • search要添加的库
  • dependency语句复制到你的pom.xml
  • 通过mvn重build

现在, maven将连接并下载jar以及依赖项列表,并自动解决jar可能存在的其他依赖项。 所以如果jar还需要commons-logging,那么也会下载。

我会这样做:

  1. 在您的pom中添加依赖关系:

     <dependency> <groupId>com.stackoverflow...</groupId> <artifactId>artifactId...</artifactId> <version>1.0</version> </dependency> 
  2. 运行maven – 它会尝试下载jar并失败。 在这个过程中,它会给你完整的安装jar的错误信息。 复制该命令并运行它! 容易吧?

我假定你在问如何将一个依赖关系推送到一个“知名存储库”,而不是简单地询问如何更新你的POM。

如果是,那么这就是你想要读的。

对于任何想要build立一个内部版本库服务器的人来说,看这里 (使用Maven 2的一半问题是find文档)