Reputation: 23
I successfully installed a local jar to my repo using this command
mvn install:install-file -Dfile=myjar.jar -DgroupId=com.mygroup -DartifactId=art -Dversion=1.3 -DlocalRepositoryPath=/home/me/.m2/repository -Dpackaging=jar
This then created the jar file and pom in my repo correctly, so I can find it under com/mygroup/artifact/1.3/
but when I try to reference it in my project pom using (exactly what is defined in the installed pom)
<dependency>
<groupId>com.mygroup</groupId>
<artifactId>artifact</artifactId>
<version>1.3</version>
</dependency>
I get errors when trying to compile. It fails to find the installed 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]
Im struggling to understand why it is failing to pick up my installed jar. What am I doing wrong?
Upvotes: 2
Views: 1118
Reputation: 1
I used the below ...
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
instead of....
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
and it worked. :)
The only change was version "1.3" instead of "1.0-SNAPSHOT" which gave me the solution and my project2 started recognizing this dependency from my project1
<dependency>
<groupId>com.autus1.cq5</groupId>
<artifactId>Autus1_Service</artifactId>
<version>1.3</version>
<scope>compile</scope>
</dependency>
Thanks for the clue!
Upvotes: 0
Reputation: 1897
In your mvn install:install-file you are publishing an artifactID of "art", and later you talk about it being "artifact". I assume this is just a typo in the obfuscation you made after running into the error.
It's hard to see what's going on without more details. I would suggest you blow away your local repo, redeploy the local file, and try again. Also, don't specify a localRepositoryPath (the default is what you want and this is one more potential source of error). Make sure you do this as the same user, preferably from the same shell to be sure.
Upvotes: 1