如何获取我拥有的 jar 文件并将其添加到 maven 2 中的依赖系统中?我将成为此依赖项的维护者,并且我的代码在类路径中需要此 jar,以便它能够编译。
5 回答
您必须分两步执行此操作:
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>
您还可以指定不在 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,您不会这样做。这是你要做的:
- 转到mvn 存储库
- 搜索您要添加的库
- 将
dependency
声明复制到您的pom.xml
- 通过重建
mvn
现在,maven
将连接并下载jar
依赖项列表,并自动解决jar
可能具有的任何其他依赖项。因此,如果jar
还需要公共日志记录,也将被下载。
我会这样做:
在你的 pom 中添加你喜欢的依赖项:
<dependency> <groupId>com.stackoverflow...</groupId> <artifactId>artifactId...</artifactId> <version>1.0</version> </dependency>
运行
mvn install
它将尝试下载 jar 并失败。在此过程中,它将为您提供安装 jar 的完整命令以及错误消息。复制该命令并运行它!容易吧?!