Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Nexus 3 upgrade changed URls for maven repos

I ran the migration utility to upgrade our Nexus 2 (2.14) to Nexus 3.40-02.

The Nexus 3 migration tool brought all the content from our 2.14 instance but subtly changed the URLs to all our Maven Repos.

For instance

https://nexus.foo.net/content/repositories/releases

became

https://nexus.foo.net/repository/releases

If I go in the Nexus 3 UI with the Admin account, browse to repostiories/settings I can see the URL but not change it.

This seems really dangerous since the Nexus URLs are encoded in poms by hundreds or more end-users consuming the jars. Why would the migration tool change the URL like this? Also I can find nothing in the Documentation about why the URL field is visible under "Settings" but cannot be changed to fix it.

Does anyone have any ideas about what went wrong?

Thanks.

like image 299
JvmSd121 Avatar asked Jul 26 '17 21:07

JvmSd121


People also ask

What is difference between Nexus and Maven?

Sonatype Nexus and Apache Maven are two pieces of software that often work together but they do very different parts of the job. Nexus provides a repository while Maven uses a repository to build software. Here's a quote from "What is Nexus?": Nexus manages software "artifacts" required for development.

Where are Nexus repositories stored?

By default, Nexus Repository creates a file blob store named default in the $data-dir directory during installation. You can configure new blob stores by navigating to Administration → Repository → Blob Stores in Nexus Repository.


1 Answers

The URI pattern will change after the upgrade. However you can activate a switch to enable the old URI pattern.

"By default, Nexus Repository Manager 2 uses a different URL pattern to expose repositories and repository groups than Nexus Repository Manager 3. While automated tools and CI can be reconfigured to utilize the new patterns, it is possible to change a configuration on the Nexus Repository Manager end to allow your upgrade to use the old pattern as well. This can be done in $data-dir/nexus3/etc/nexus.properties by adding:"

org.sonatype.nexus.repository.httpbridge.internal.HttpBridgeModule.legacy=true

https://help.sonatype.com/display/NXRM3/Upgrade+Procedures#UpgradeProcedures-ConfiguringLegacyURLPaths

like image 91
Mike Avatar answered Nov 15 '22 05:11

Mike