Source Repository

Maven projects use Subversion to manage their source code. Instructions on Subversion use can be found in the online book Version Control with Subversion.

Web Access

The following list shows the links to the online source repositories for the various development branches of the Maven core:

The source repositories for the various plugins are listed in the documentation of the respective plugin, reachable via the plugin index.

The sources for this site are available in a separate location:

Anonymous Access

The source can be checked out anonymously from SVN with one of these commands depending on the development line you are looking for:

$ svn checkout http://svn.apache.org/repos/asf/maven/maven-2/branches/maven-2.2.x maven-2.2.x
$ svn checkout http://svn.apache.org/repos/asf/maven/maven-3/trunk maven-3
$ svn checkout http://svn.apache.org/repos/asf/maven/site/trunk

Developer Access

Everyone can access the Subversion repository via HTTP, but committers must checkout the Subversion repository via HTTPS to gain write access:

$ svn checkout https://svn.apache.org/repos/asf/maven/maven-2/branches/maven-2.2.x maven-2.2.x
$ svn checkout https://svn.apache.org/repos/asf/maven/maven-3/trunk maven-3
$ svn checkout https://svn.apache.org/repos/asf/maven/site/trunk

To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password):

$ svn commit --username your-username -m "A message"

Access from behind a Firewall

For those users who are stuck behind a corporate firewall which is blocking HTTP access to the Subversion repository, you can try to access it via the developer connection:

$ svn checkout https://svn.apache.org/repos/asf/maven/maven-2/branches/maven-2.2.x maven-2.2.x
$ svn checkout https://svn.apache.org/repos/asf/maven/maven-3/trunk maven-3
$ svn checkout https://svn.apache.org/repos/asf/maven/site/trunk

Access through a Proxy

The Subversion client can go through a proxy, if you configure it to do so. First, edit your servers configuration file to indicate which proxy to use. The file's location depends on your operating system. On Linux or Unix it is located in the directory ~/.subversion. On Windows it is in %APPDATA%\Subversion (try echo %APPDATA%, note this is a hidden directory).

There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.

Example: Edit the servers file and add something like:

[global]
http-proxy-host = your.proxy.name
http-proxy-port = 3128