Upgrading to Nexus Repository 3.71.0 and Beyond
Nexus Repository 3.70.x release branch are the final releases to support the embedded OrientDB database, Java 8, and Java 11. Before updating to a release after 3.70.x, you must migrate off from Orient database and upgrade your version of Java. Support for OrientDB is being sunsetted and is no longer included in Nexus Repository versions 3.71.0 and beyond.
See Nexus Repository Sunsetting Information
Expand the section below that corresponds to your current database. If you don't know your current database, see the Determining Current Database help topic.
Upgrade Paths
The table below provides a brief overview of the upgrade process based on your current database.
Database | Upgrade Overview |
---|---|
PostgreSQL |
|
H2 |
|
OrientDB |
* Note that migrating to a PostgreSQL database with version 3.70.x requires a Pro license. Non-pro deployments will need to migrate to H2 on version 3.70.x and can migrate to PostgreSQL after upgrading to Nexus Repository version 3.77.x or later. |
If you are already using a PostgreSQL database, you can upgrade your Nexus Repository instance following your typical upgrade instructions. However, you will still need to upgrade your Java version to Java 17; Nexus Repository 3.71.0+ does not support Java 8 or 11. If you do not know how to change your Java version, see our documentation on how to change your Java version.

Upgrade to the Latest Nexus Repository 3.70.x Version
Upgrade to the latest branch of version 3.70.x using the standard upgrade procedures. You will still use Java 8 or 11 as OrientDB does not support Java 17. Start the instance before proceeding to ensure everything works as expected.
Use the Database Migrator to switch to the database
Nexus Repository Pro deployments may switch to PostgreSQL, however, Community Edition users will need to use the H2 database until upgrading to the 3.77.0 release.
See the Phase 2 section for details on migrating the database.
Upgrade your Java version before upgrading to 3.71.0 or later.
You can now upgrade your Nexus Repository instance to 3.71.0+ but you need to upgrade your Java version to Java 17 as later versions do not support Java 8 or 11.
The Sonatype team provides alternate distribution binaries required
nexus.vmoptions
configuration to align with the supported Java version. You must download the correct distribution to switch to a different java version.
Nexus Repository versions from 3.70.0 and beyond require a version 2.x H2 database; previous Nexus Repository versions used a version 1.x database. Therefore, you will need to run a task to export your H2 v1.x database before upgrading Nexus Repository. Sonatype added this task in version 3.69.0, so you must be on 3.69.0 before proceeding. The sections below will walk you through this process.
The internal H2 database used by Nexus Repository was updated in the 3.71.0 release. This upgrade workflow requires exporting the H2 database using a special task available in the 3.69.0 release before upgrading. Support for Java 17 was introduced in the 3.69.0 release and is required for all future releases.

Upgrade to the Nexus Repository 3.69.0 release
This step is required to create the files to use during the internal H2 upgrade and is the first supported version of Java 17.
Upgrade to Java 17
The Sonatype team provides alternate distribution binaries and the required
nexus.vmoptions
configuration to align with the supported Java version. You must download the correct distribution to switch to a different java version.Set the Java path in the
bin/nexus
script. Uncomment and update theINSTALL4J_JAVA_HOME_OVERRIDE
property. Java is embedded in later distributions of Nexus Repository where this override method is no longer recommended or used.Export the H2 database
Changes made in Nexus Repository after exporting the database are not included in the new instance. We recommend limiting access to the repository at this point until the upgrade is complete.
Running the Admin - Export SQL database to script task outputs a file called
nexus-<timestamp>.sql
to the$data-dir/db
folder. This file is used to migrate the H2 database during the upgrade to the 3.71.0 or later releases.Upgrade to the latest Nexus Repository release
On startup, Nexus Repository uses the latest
nexus-<timestamp>.sql
file and the H2 database file callednexus.mv.db
files found in the$data-dir/db
folder. Nexus Repository automatically creates a backup callednexus-<timestamp>-backup.zip
.This process may take some time depending on the size of the database. Instances with H2 database over 10 gigabits should consider migrating to PostgreSQL. PostgreSQL is available to Community Edition users as of the 3.77.2 release.
Verify the Nexus Repository instance
Once the instance has completely started, verify that the service is working as expected.
Delete the SQL and backup files
The
nexus-<timestamp>.sql
andnexus-<timestamp>-backup.zip
files should be removed or deleted from the deployment for security reasons. Do not remove or rename thenexus.mv.db
file.
If you are already using a PostgreSQL database, you can upgrade your Nexus Repository instance following your typical upgrade instructions. However, you will still need to upgrade your Java version to Java 17; Nexus Repository 3.71.0+ does not support Java 8 or 11. If you do not know how to change your Java version, see our documentation on how to change your Java version.