Sonatype Nexus Repository Open Source Codebase
Downloadable Bundles
See: https://www.sonatype.com/download-oss-sonatype
Build Requirements
Builds use Apache Maven and require Java 8. Apache Maven wrapper scripts are included in the source tree.
All release versioned dependencies should be available from the Central repository.
For SNAPSHOT sources, SNAPSHOT versioned dependencies may only be available from https://repository.sonatype.org/content/groups/sonatype-public-grid repository.
Configuring Maven for SNAPSHOT Dependencies
Following best practices, the nexus-public POM does not include any root <repositories>
elements.
Instead you are advised to configure Apache Maven to point at single repository mirror URL that is a group repository containing both Central proxy repository with Release version policy and sonatype-public-grid with a SNAPSHOT version policy. You can use a repository manager to set up a group repository that contains both of these remotes.
Alternately, add a custom profile to a settings.xml for repository manager development that includes both repositories.
Building From Source
Released versions are tagged and branched using a name of the form release-{version}
. For example: release-3.29.2-02
To build a tagged release, first fetch all tags:
git fetch --tags
Then checkout the remote branch you want. For example:
git checkout -b release-3.29.2-02 origin/release-3.29.2-02 --
Then build using the included Maven wrapper script. For example:
./mvnw clean install
For building SNAPSHOT versions, follow the same process, except your build may require access to Sonatype Public Grid to successfully resolve dependencies.
Running
To run Nexus Repository, after building, unzip the assembly and start the server:
unzip -d target assemblies/nexus-base-template/target/nexus-base-template-*.zip
./target/nexus-base-template-*/bin/nexus console
The nexus-base-template
assembly is used as the basis for the official Sonatype Nexus distributions.
License
This project is licensed under the Eclipse Public License - v 1.0, you can read the full text here
Getting help
Looking to contribute to our code but need some help? There's a few ways to get information or our attention:
- File an issue in our public JIRA
- Check out the Nexus3 tag on Stack Overflow
- Check out the Nexus Repository User List
- Connect with @sonatypeDev on Twitter