Skip to main content

System Requirements for Sonatype Nexus Repository 2

Nexus Repository 2

Supported Versions

Sonatype fully supports versions of Nexus Professional for one year after their release date. Older releases are supported on a best effort basis and the release dates of these versions are listed in our download archives.

Host Operating System

Any Windows, Linux, or Macintosh operating system that can run a supported Java version will work. Other operating systems may work, but they are not tested by Sonatype.

The most widely used operating system for Nexus is Linux and therefore customers should consider it the best tested platform.

Note: Some customers are running on AIX, HP/UX and Solaris successfully, but these systems are not internally tested. When possible, Sonatype Support will make an attempt to provide support for these systems. However you may still be required to reproduce issues on a standard Linux distribution.

Dedicated Operating System User Account

Note

Unless you are testing the repository manager or running it only for personal use, a Nexus Repository Manager user account specific to the operating system is strongly recommended for running.

The Nexus Repository Manger process user is typically named nexus and must be able to create a valid shell.

Warning

As a security precaution, do not run Nexus as the root user.

Adequate File Handles

The Nexus Repository Manager process may want to consume more file handles than the default value allowed by your operating system.

We recommend increasing the available file handles for Nexus preemptively to avoid potential errors at runtime.

Java

Nexus Repository is an application that requires specific Java versions to operate.

Sonatype strongly suggests using the latest compatible release version of Java available.

Nexus Version

Supported Sun/Oracle/OpenJDK JRE version

1.9 and earlier

5 or 6

2.0-2.5

6 or 7

2.6.x

7u45+ only

8+ will not work

2.7.x-2.9.x

7u45+

8+ may work but is not thoroughly tested

2.10.x-2.11.1

7u45+, 8u25+

2.11.2-2.13.0

8u31+ strongly recommended

7u79+ no further public updates as of April 2015

2.14.0-2.14.10

The most recent version of Java 8 available.

Java 7 is not tested and problems using Java 7 will not be addressed.

On August 2, 2018 public announcements were made strongly recommending avoiding older java versions.

2.14.11+

The most recent version of Java 8 available.

This version and after will no longer boot on Java 7.

How do I check what version of Java is currently being used by Nexus Repository Manager?

  1. Sign-in to the Nexus Repository Manager UI using a user assigned the Administrator role.

  2. In the left sidebar, navigate to AdministrationSupport Tools. The System Information tab should be displayed by default.

  3. Under the SYSTEM-PROPERTIES section, search the page for "java.home" and "java.version"

    16352693.png

How do I change the version of Java used to run Nexus Repository Manager?

By default Nexus will pick up whatever java/java.exe executable is on the $PATH/%PATH% environment variable of the operating system user account owning the repository manager process. In some cases it may be desirable to not rely on using the version in the PATH variable. The exact java executable to use can also be set explicitly.

  1. First determine the current directory where your runtime installation files reside.

    1. Sign-in to the Nexus Repository Manager UI using a user assigned the Administrator role.

    2. In the left sidebar, navigate to AdministrationSupport Tools. The System Information tab should be displayed by default.

    3. Under the NEXUS-CONFIGURATION section, locate the installDirectory value. This is your <AppDir>.

      16352692.png
  2. Second, edit a properties file under that path to set the java executable:

    1. Locate the<AppDir>/bin/jsw/conf/wrapper.conf file.

    2. Edit wrapper.conf with a text editor. Locate these lines:

      # Set the JVM executable
      # (modify this to absolute path if you need a Java that is not on the OS path)
      wrapper.java.command=java
    3. Change the value of the property to the absolute path to your new java executable. The value is a file path to an executable, not a directory. Windows file paths should use forward slashes and not backslashes.

      # Set the JVM executable
      # (modify this to absolute path if you need a Java that is not on the OS path)
      wrapper.java.command=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/bin/java
  3. Restart repository manager for the process to launch with the new java executable.

Note

Modern OpenJDK builds should work in place of commercial builds of OpenJDK. GCJ builds will not work and are not supported.

IBM JDK can be used on systems that do not have a Sun/Oracle/OpenJDK JRE available, but our support of this is done on a best effort basis. There are known issues with IBM Server Name Indication (SNI) support which can cause some proxy repositories to SSL based remotes not work correctly.

Java Cryptography Extension (JCE)

Java Cryptography Extension (JCE) is required by some Nexus features. This includes Secure Central and Smart Proxy.

Note

If you see java.security.InvalidKeyException: Illegal key size in your log is an indicator that Nexus requires the JCE.

It is the user's responsibility to verify that installing JCE is permissible under local regulations. Installing it allows stronger encryption algorithms to be used.

Obtain JCE from your JVM vendor:

Oracle Java Cryptography Extension (JCE) Download

CPU

Nexus Repository Manager performance is primarily bounded by IO (disk and network) rather than CPU. So any reasonably modern multi-core CPU will generally be sufficient for normal use.

Memory

The default JRE max heap size of Nexus Professional is 768Mb and represents the absolute bare minimum operating requirements.

The codebase of Nexus Repository will consume approximately another 1GB. So factoring in operating system overhead you will need at least 4GB of physical RAM, assuming no other large applications are running on the machine.

For production Nexus Repository instances you will need to increase the physical RAM and allocated application maximum heap space.

Disk

Sonatype Nexus, installed, consumes less than 100MB. The bulk of disk space will be held by your deployed and proxied artifacts, as well as any search indexes. This is highly installation specific.

For a detailed discussion of disk space, see this article.

You should note that downloading some search indexes, like Maven Central, can consume several GB of disk.

There are strategies to manage the disk space consumed by Nexus Repository Manager.

We have some optimization suggestions to use at your discretion. We recommend to avoid using NFS for the repository manager's work directory, especially in large installations, as this will often have severe impacts on performance. Also consider the noatime option for your work directory mounts and limit the symbolic links used as this will cause increased overhead whenever the repository manager needs to resolve an absolute file path.

Web Browser

Our general policy is to support the most recent modern browser version for your supported OS at time of Nexus release date. This table is updated for the most recent Nexus release.

Vendor

Versions

Google Chrome

latest at Nexus release

Firefox

latest and ESR at Nexus release

Safari

on OSX only, latest at Nexus release

Opera

untested and not supported

Internet Explorer

No longer supported