在Maven中添加依赖项

问题

如何获取我拥有的jar文件并将其添加到maven 2中的依赖系统?我将成为这个依赖项的维护者,我的代码需要在类路径中使用这个jar才能编译。


#1 热门回答(136 赞)

你必须分两步完成:

1.为你的JAR提供groupId,artifactId和版本,并将其添加到你的存储库。

如果你没有内部存储库,并且只是尝试将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>

#2 热门回答(93 赞)

你还可以指定不在maven存储库中的依赖项。当你的团队没有中央maven存储库或者你有aCI服务器时,可能会很有用

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

#3 热门回答(44 赞)

实际上,在调查这个问题时,我认为所有这些答案都是错误的。由于我们对maven的理解程度,你的问题具有误导性。我说我们是因为我刚刚介绍到2774791781。

Eclipse中,当你想要将jar文件添加到项目中时,通常可以手动下载jar,然后将其放入lib目录中。对于maven,你不这样做。这是你做的:

  • 去mvnrespoitory
  • 搜索要添加的库
  • 将依赖语句复制到pom.xml中
  • 通过mvn重​​建

现在,maven将连接并下载jar以及依赖项列表,并自动解决jar可能具有的任何其他依赖项。因此,如果jar也需要公共日志记录,那么也将下载。