在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,那么也会下载。
我会这样做:
-
在您的pom中添加依赖关系:
<dependency> <groupId>com.stackoverflow...</groupId> <artifactId>artifactId...</artifactId> <version>1.0</version> </dependency>
-
运行maven – 它会尝试下载jar并失败。 在这个过程中,它会给你完整的安装jar的错误信息。 复制该命令并运行它! 容易吧?
我假定你在问如何将一个依赖关系推送到一个“知名存储库”,而不是简单地询问如何更新你的POM。
如果是,那么这就是你想要读的。
对于任何想要build立一个内部版本库服务器的人来说,看这里 (使用Maven 2的一半问题是find文档)