在 Maven 中添加依赖项

如何获取一个 jar 文件并将其添加到 maven2中的依赖系统中?我将是这个依赖项的维护者,我的代码需要在类路径中使用这个 jar,以便它能够编译。

237708 次浏览

我假设您正在询问如何将依赖项推送到“已知存储库”,而不是简单地询问如何更新 POM。

如果是,那么 这个就是您想要阅读的内容。

对于那些希望建立内部存储库服务器的人,可以查看 给你(使用 Maven2的一半问题是找到文档)

你必须分两步来做:

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>

我会这么做:

  1. 在你的游戏中添加你喜欢的依赖项:

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

  2. 运行 mvn install,它将尝试下载 jar 并失败 将提供安装带有错误消息的 jar 的完整命令。复制命令并运行它!很简单吧!

事实上,在调查这件事的时候,我认为所有的答案都是不正确的。你的问题是误导,因为我们的理解水平 maven。我说我们是因为我刚刚被介绍给 maven

Eclipse中,当您想要将 jar 文件添加到您的项目中时,通常您需要手动下载 jar 文件,然后将其放到 Lib目录中。和 Maven 在一起,你不能这么做。你要这么做:

  • 转到 Mvn 存储库
  • 搜索要添加的库
  • dependency语句复制到 pom.xml
  • 通过 mvn重建

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

您还可以指定不在 maven 存储库中的依赖项。如果您的团队没有集中的 maven 存储库,或者您有一个 线人服务器,那么它可能非常有用

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