Nexus 1.9 – Performance, Compatibility, and Dependency Browsing


April 14, 2011 By Brian Fox

Sonatype has released the latest version of our industry leading repository manager – Nexus 1.9.1

This post outlines some of the new features available in all 1.9 releases of both Nexus Professional and Nexus Open Source. This release has a lot of important, under-the-hood changes – including a number of changes to the core infrastructure of Nexus to increase Maven 3 compatibility and to incorporate open source libraries for repository interaction (Aether and Maven Indexer). In addition to a wide array of fixes and features in Nexus Open Source, you can now use Nexus Professional to analyze Maven Dependencies.

Changes in Nexus Professional 1.9.1

Nexus Professional has the following key benefits.  For a complete list of all features added and bugs fixed in Nexus Professional 1.9.1, see the official release notes (note: release notes require a log-in).

  • Moved the Custom Metadata Plugin to optional plugins – This Custom Metadata plugin is now shipped as an optional dependency. If you are using the Custom Metadata plugin you will need to copy this plugin from the optional dependencies directory to the plugins directory. Nexus will then start up this plugin the next time it is restarted.
  • The New Maven Module Dependency Report – Nexus Professional adds a helpful report for people browsing the repository. For the first time, you can click on an artifact and see a report of Maven dependencies. From this report you can click through to search for dependencies.

Changes in Nexus Open Source

Nexus Open Source 1.9.1 contains the following new features and updated capabilities. We’ve summarized some of the major features and bug fixes for your convenience. If you are looking for more details about a particular feature or fix, read the full release notes for a comprehensive list of features added and bugs fixed.

  • New Nexus Archetype Plugin - Nexus 1.9.1 will now add any Maven Archetypes you deploy to your own repositories to the archetype catalog. Once an archetype is available in the archetype catalog, you can then access archetypes using tools like m2eclipse, which reference the archetype catalog when creating a new project.
  • Uses the Maven Indexer - Sonatype has successfully completed the donation of the Nexus Indexer to the Apache Software Foundation, and we are integrating this newly donated “Maven Indexer” in this release of Nexus. For more information, read this post.
  • Improvements to the Roles and Permissions Interface - The Nexus team spend a considerable amount of time trying to simplify the Roles and Permissions interface based on user feedback. We’ve tried to make it easier to understand at first glance, and we’re also tried to reduce the amount of work necessary to make changes to roles and permissions.
  • Integrated Aether - Aether is a new open source library designed to capture best practices for retrieving information from Maven repositories. It provides a clean interface and manages fetching both metadata and artifacts. This version of Nexus incorporates Aether and replaces Mercury. Integrating Aether has also solved a number of minor issues involving Maven metadata and compatibility with Maven 3.
  • Switched to Java 6 - Nexus has upgraded to Java 6.
  • Nexus Upgraded Security from JSecurity to Apache Shiro - As an end-user you shouldn’t notice many changes in the interface to support this migration, but if you are developing custom security realms for Nexus, this post describes some of the changes you need to make to support the move to Shiro. Note: After this upgrade, both first name and last name are required fields for a user. If you have an existing user that only have one name (“Administrator”), you will need to supply a first and last name for this user if you ever edit this user through Nexus UI.
  • Added robots.txt to bundle to stop public repos from getting crawled
  • Improved Reindexing Performance - Reindexing performance has been considerably improved, achieving a nearly 2x speed up for certain repositories.
  • Switched to the Affero General Public License - Nexus Open Source is now covered under the Affero General Public License. For more information about this switch see this post.
  • Added a Start-up Script for 64-bit windows Platforms – If you are running Nexus on a 64-bit Window platform, you can now start Nexus with a 64-bit Windows JSW startup wrapper.

For information on upgrading Nexus, click here.