How to configure the Nexus temporary directory

How to override the default Nexus Temporary Directory

For Nexus 2.8.1+:

  • Edit ${NEXUS_HOME}/bin/jsw/conf/wrapper.conf, find the line containing wrapper.java.additional.2=-Djava.io.tmpdir=./tmp. Change the ./tmp value to your preferred absolute directory path that already exists and is RW capable by the Nexus process user. This should be a local disk location.

For Nexus 2.8.0 and earlier:

  1. Edit ${NEXUS_HOME}/bin/jsw/conf/wrapper.conf, add another property wrapper.java.additional._n_=-Djava.io.tmpdir=/your/custom/tmp/dir where _n_ is the next available number not already used.
  2. Edit ${NEXUS_HOME}/conf/nexus.properties, add a property java.io.tmpdir=/absolute/path/to/your/custom/tmp/dir.

History

In some Nexus releases, the java.io.tmpdir is not set properly. The challenge is that unless the temporary directory that a Java application uses is explicitly set at time of java program invocation, it may not take effect.

Due to this restriction, it was possible that the temporary directory used by Nexus was indeterminate for some operations. Nexus may have attempted to set the preferred default temporary directory via code to ${NEXUS_WORK}/tmp. Nexus now defaults the temporary directory used as ${NEXUS_HOME}/tmp.

Background

In Nexus 1.9.x, the intended temporary directory used by the official Nexus bundle was set in ${NEXUS_HOME}/bin/jsw/conf/wrapper.conf as ./runtime/tmp.

In Nexus 2.0.x, this was set in wrapper.conf as ./tmp

From Nexus 2.1+ to 2.8.0, the temporary directory was no longer explicitly set in wrapper.conf, instead it was computed in code. This choice appears to have made the actual temporary directory used by the Nexus bundle somewhat unpredictable. NEXUS-6352

Nexus 2.8.1 and greater has returned to setting the temporary directory in ${NEXUS_HOME}/bin/jsw/conf/wrapper.conf as wrapper.java.additional.2=-Djava.io.tmpdir=./tmp

Have more questions? Submit a request

0 Comments

Article is closed for comments.
Powered by Zendesk