如何将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,这也因为找不到依赖项而失败。
我忽略了一些非常基本的东西。
答案 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>