我使用此命令
成功地将一个本地jar安装到我的仓库mvn install:install-file -Dfile=myjar.jar -DgroupId=com.mygroup -DartifactId=art -Dversion=1.3 -DlocalRepositoryPath=/home/me/.m2/repository -Dpackaging=jar
然后在我的仓库中正确创建了jar文件和pom,所以我可以在com / mygroup / artifact / 1.3 /
下找到它但是当我尝试在我的项目pom中引用它时(确切地说是在安装的pom中定义的)
<dependency>
<groupId>com.mygroup</groupId>
<artifactId>artifact</artifactId>
<version>1.3</version>
</dependency>
我在尝试编译时遇到错误。它无法找到已安装的jar。
Failed to execute goal on project myproject: Could not resolve dependencies for project com.myproject:war:1.0: Failure to find com.mygroup:artifact:jar:1.3 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
我很难理解为什么它没有拿起我安装的jar。我做错了什么?
答案 0 :(得分:1)
在您的mvn install:install-file中,您发布的是&#34; art&#34;的artifactID,稍后您将其称为&#34; artifact&#34;。我认为这只是你在遇到错误后所做的混淆中的一个错字。
如果没有更多细节,很难看到会发生什么。我建议你吹掉你的本地仓库,重新部署本地文件,然后再试一次。另外,不要指定localRepositoryPath(默认是你想要的,这是另一个潜在的错误来源)。确保你以相同的用户身份执行此操作,最好是从同一个shell中确定。
答案 1 :(得分:0)
我使用了以下内容......
mvn install:install-file -Dfile=C:\Autus1\Autus1_Practice\bundle\target\Autus1_Service-1.0-SNAPSHOT.jar -DgroupId=com.autus1.cq5 -DartifactId=Autus1_Service -Dversion=1.3 -DlocalRepositoryPath=C:\Users\manish_ranjan\.m2\repository -Dpackaging=jar
而不是......
mvn install:install-file -Dfile=C:\Autus1\Autus1_Practice\bundle\target\Autus1_Service-1.0-SNAPSHOT.jar -DgroupId=com.autus1.cq5 -DartifactId=Autus1_Service -Dversion=1.0-SNAPSHOT -DlocalRepositoryPath=C:\Users\manish_ranjan\.m2\repository -Dpackaging=jar
它有效。 :)
唯一的变化是版本“1.3”而不是“1.0-SNAPSHOT”,这给了我解决方案,我的project2开始从我的project1识别这种依赖
<dependency>
<groupId>com.autus1.cq5</groupId>
<artifactId>Autus1_Service</artifactId>
<version>1.3</version>
<scope>compile</scope>
</dependency>
感谢您的线索!