简体   繁体   中英

Jar not downloading from maven

I have a scenario, where in my maven repository, the required JAR is available, but it is not inside the version folder, instead, it is directly under the group.

For Example I need test-1.0.0.jar

In my Maven Repo, the jar is placed in the path like below,

com.java.test
----test-1.0.0.jar

But it is supposed to be like the below,

com.java.test
---1.0.0
------test-1.0.0.jar

Because of this, the jar is not downloading when I do maven install. Are there any workarounds to get the jar downloaded without changing the maven repository structure?

I think there is a problem with pom.xml of test.jar or jar uploaded to the remote repo incorrectly.

In that case, if you have control over test.jar codebase or remote repo, you can figure out what is wrong and fix it. If you don't have control over them, you can treat like it is 3rd party jar. Using below command you can populate the jar into your local maven repository.

mvn install:install-file

Basically, this command reads this dependency and installs into your local maven repository within the constraints you provided as a parameter.

Below example have been taken from Apache Maven Documentation .

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

But keep in mind, it is just a workaround for your local development. In the long run, the actual problem needs to be resolved. As mentioned earlier, either pom.xml of test.jar should be fixed or structure of remote repository should be corrected by re-uploading the jar.

You would need to re-upload your jar to the right path in Nexus, using mvn deploy:deploy-file :

In Windows:

cmd /v /c "set g=com.java&& set a=test&& set v=1.0.0&& mvn deploy:deploy-file -Dfile=.a:-.v..jar -Dpackaging=jar -DgroupId= g -DartifactId= a -Dversion= v -DrepositoryId=your-nexus-id -Durl=https //nexus your comany com repository/public"

You can execute that in the folder where the jar is, even without any pom.xml .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM