Skip to main content

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

Upgrade Paths

Database

Upgrade Instructions

PostgreSQL

Instances using PostgreSQL are only required to upgrade to Java 17. Otherwise, follow normal upgrade procedures.

H2

Upgrade to the 3.69.0 release to export the current database. Upgrade to Java 17 before moving to a newer version of Nexus Repository.

OrientDB

Upgrade to the latest version of Nexus Repository 3.70.x branch. Migrate to Postgres database for production deployments. Upgrade to Java version 17 when you are no longer using OrientDB.

Nexus Repository Community users need to migrate to the H2 database before upgrading to a Postgres database in the 3.77.2 or later releases.

The following workflow is intended for Nexus Repository instances on versions before or on the 3.69.0 release using the internal H2 database.

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.

H2_Pre368_Java811.png
  1. 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.

    See Download Archives

  2. Upgrade to Java 17

    Set the Java path in the bin/nexus script. Uncomment and update the INSTALL4J_JAVA_HOME_OVERRIDE property. Java is embedded in later distributions of Nexus Repository where this override method is no longer recommended or used.

  3. 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.

  4. Upgrade to the latest Nexus Repository release

    On startup, Nexus Repository uses the latest nexus-<timestamp>.sql file and the H2 database file called nexus.mv.db files found in the $data-dir/db folder. Nexus Repository automatically creates a backup called nexus-<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.

  5. Verify the Nexus Repository instance

    Once the instance has completely started, verify that the service is working as expected.

  6. Delete the SQL and backup files

    The nexus-<timestamp>.sql and nexus-<timestamp>-backup.zip files should be removed or deleted from the deployment for security reasons. Do not remove or rename the nexus.mv.db file.

Nexus Repository 3.71.0 and beyond does not include the OrientDB database. To upgrade to version 3.71.0+, migrate to an H2 or PostgreSQL database. Nexus Repository 3.71.0 and beyond requires Java 17, update your Java version before upgrading.

Orient_369_java811.png
  1. 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 need to use Java 8 or 11 as OrientDB does not support Java 17. Start the instance before proceeding to ensure everything works as expected.

  2. Use the Database Migrator to switch to another database

    Nexus Repository Pro deployments are recommended to migrate to PostgreSQL at this time. Community Edition users need to use the H2 database until after upgrading to the 3.77.0 release where PostgreSQL is open to all deployments.

    See Migrating to a New Database

  3. Upgrade to Java 17 before upgrading to 3.71.0 or later

    Upgrade to Java version 17 before upgrading to 3.71.0 or later. Nexus Repository 3.71.0 and later do not support Java 8 or 11.

    Set the Java path in the bin/nexus script. Uncomment and update the INSTALL4J_JAVA_HOME_OVERRIDE property. Java is embedded into later distributions of Nexus Repository where this override method is no longer recommended or used.