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 and Java versions 8 and 11. Before updating to a release after 3.70.x, you must migrate off from the Orient database while upgrading Java. Support for OrientDB is sunsetted and is no longer included in Nexus Repository versions 3.71.0 and beyond.
See Determining the Current Database
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. |
Nexus Repository Deployments Using OrientDB
Nexus Repository no longer includes OrientDB in versions after 3.70.x. We recommend Professional user deployments migrate to Postgres. Community Edition users must migrate to H2 database before they can upgrade to Postgres database starting after the 3.77.0 release.

Upgrade to the Latest Nexus Repository 3.70.x Release
Upgrade to the latest branch of version 3.70.x using the standard upgrade procedures. Start the instance before proceeding to ensure everything works as expected.
As OrientDB does not support Java 17, continue to use Java 8 or 11 until after the database migration.
See Final Orient Release Download
This includes the migrator version to use for the next step.
Use the Database Migrator to switch to the database
Nexus Repository Pro deployments may switch directly to using PostgreSQL. Community Edition users must use the H2 database until upgrading to a Nexus Repository version after the 3.77.0 release. We recommend using Postgres in production deployments.
Upgrade your Java version before upgrading to 3.71.0 or later.
Upgrade your Nexus Repository instance to the 3.71.0 release or greater. During this upgrade, update your Java version to Java 17 as later versions of Nexus Repository do not support Java 8 or 11.
Download the correct distribution to switch to a different java version. These distributions include configuration aligned to the supported Java version.
Nexus Repository Deployments Using H2
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.vmoptionsconfiguration 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/nexusscript. Uncomment and update theINSTALL4J_JAVA_HOME_OVERRIDEproperty. 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>.sqlto the$data-dir/dbfolder. 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>.sqlfile and the H2 database file callednexus.mv.dbfiles found in the$data-dir/dbfolder. 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>.sqlandnexus-<timestamp>-backup.zipfiles should be removed or deleted from the deployment for security reasons. Do not remove or rename thenexus.mv.dbfile.
Nexus Repository Deployments Using PostgreSQL
Update your Java version to Java 17 when upgrading to upgrading to versions after the 3.70.0 release following the typical upgrade instructions. The Nexus Repository 3.71.0 release and greater no longer supports Java 8 or 11.