如何将maven工件添加到现有的maven项目中

时间:2016-08-21 22:52:11

标签: maven

如何将maven工件添加到现有的maven项目中。我知道我可以在本地构建一个jar并使用file:protocol但是这也可以使用maven。

例如我有一个基本的maven项目

https://maven.apache.org/guides/getting-started/index.html#How_do_I_make_my_first_Maven_projec t和神器:

   <repositories>
     <repository>
       <id>myrepo.org</id>
       <name>MyRepository</name>
       <url>http://mywork.com/repository</url>
     </repository>
   </repositories>

   <dependency>
     <groupId>org.ethereum</groupId>
     <artifactId>ethereumj-core</artifactId>
     <version>1.1.0-RELEASE</version>

我尝试将上面的代码添加到项目pom.xml失败,因为依赖项不在中央maven repo中。

  

mvn clean install

然后我尝试通过添加标记来编辑我的settings.xml,这也因为找不到依赖项而失败。

我忽略了一些非常基本的东西。

1 个答案:

答案 0 :(得分:2)

Maven致力于本地和远程存储库的概念。 本地存储库是指您自己安装的副本,它是远程下载的缓存,还包含您尚未发布的临时构建工件。

远程存储库是您通过文件或http / ftp协议访问工件的存储库,它可以是内部存储库或远程公共托管。

当您在本地添加依赖关系maven搜索时,如果找不到该工件,则会搜索远程仓库。仍未找到然后报告错误。

https://maven.apache.org/guides/introduction/introduction-to-repositories.html

在你的情况下,'ethereumj-core'既不能找到位置,你需要找到这个jar并手动安装到本地仓库。

mvn install:install-file -Dfile=< folder >\ethereumj-core.1.1.0-RELEASE.jar -DgroupId=org.ethereum
-DartifactId=ethereumj-core -Dversion=1.1.0-RELEASE -Dpackaging=jar

一旦正确安装maven,当你将它作为依赖项添加到任何项目时(在pom.xml中),应该能够找到这个工件。

<dependency>
     <groupId>org.ethereum</groupId>
     <artifactId>ethereumj-core</artifactId>
     <version>1.1.0-RELEASE</version>
</dependency>