Written using Nexus 1.0.0-beta2
Nexus provides proxy, grouping, and local repository functionality along with a rich web-ui for administration. There are no security options included with Nexus beyond an administrative account for configuration.
To use Nexus as a caching proxy for a uPortal 3 build five release and three snapshot repository proxies must be configured along with an optional public repository group. A sample Nexus configuration file is attached that provides these eight proxy repositories and the public repository group.
<mirrors> in settings.xml
To configure maven on a machine to use the local repositories a ~/.m2/settings.xml file is needed. The following is an example settings.xml the works with the attached Nexus configuration. Simply change the hostname and port in the URLs to point to your Nexus server.
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <mirrors> <!-- | Each mirror is listed individually here, this configuration is better for portal developers | who may need to retrieve artifacts from non-proxied repositories. +--> <mirror> <id>my-tools.central</id> <name>my-tools Nexus Mirror of central</name> <url>http://bohemia.doit.wisc.edu:8081/nexus/content/repositories/central</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>my-tools.jasig-repository</id> <name>my-tools Nexus Mirror of jasig-repository</name> <url>http://bohemia.doit.wisc.edu:8081/nexus/content/repositories/jasig-repository</url> <mirrorOf>jasig-repository</mirrorOf> </mirror> <mirror> <id>my-tools.maven2-repository.dev.java.net</id> <name>my-tools Nexus Mirror of maven2-repository.dev.java.net</name> <url>http://bohemia.doit.wisc.edu:8081/nexus/content/repositories/java.net</url> <mirrorOf>maven2-repository.dev.java.net</mirrorOf> </mirror> <mirror> <id>my-tools.maven-repository.dev.java.net</id> <name>my-tools Nexus Mirror of maven-repository.dev.java.net</name> <url>http://bohemia.doit.wisc.edu:8081/nexus/content/repositories/m1.java.net</url> <mirrorOf>maven-repository.dev.java.net</mirrorOf> </mirror> <mirror> <id>my-tools.dist.codehaus.org/mule</id> <name>my-tools Nexus Mirror of dist.codehaus.org/mule</name> <url>http://bohemia.doit.wisc.edu:8081/nexus/content/repositories/dist.codehaus.org-mule</url> <mirrorOf>dist.codehaus.org/mule</mirrorOf> </mirror> <mirror> <id>my-tools.jasig-snapshot</id> <name>my-tools Nexus Mirror of jasig-snapshot</name> <url>http://bohemia.doit.wisc.edu:8081/nexus/content/repositories/jasig-snapshot</url> <mirrorOf>jasig-snapshot</mirrorOf> </mirror> <mirror> <id>my-tools.Codehaus Snapshots</id> <name>my-tools Nexus Mirror of Codehaus Snapshots</name> <url>http://bohemia.doit.wisc.edu:8081/nexus/content/repositories/codehaus-snapshots</url> <mirrorOf>Codehaus Snapshots</mirrorOf> </mirror> <mirror> <id>my-tools.apache.snapshots</id> <name>my-tools Nexus Mirror of apache.snapshots</name> <url>http://bohemia.doit.wisc.edu:8081/nexus/content/repositories/apache-snapshots</url> <mirrorOf>apache.snapshots</mirrorOf> </mirror> <!-- | Sends Everything to the public group, this should be used for production builds when attempting | to download an artifact directly from _any_ repository should be considered a build error +--> <!-- <mirror> <id>my-tools.public</id> <mirrorOf>*</mirrorOf> <url>http://bohemia.doit.wisc.edu:8081/nexus/content/groups/public</url> </mirror> --> </mirrors> </settings>