A Maven2 Repository : An Introduction

Public remote external repository: This public external repository exists at ibiblio.org and maven synchronizes with this repository.

A Maven2 Repository : An Introduction

A Maven2 Repository : An Introduction

     

Maven repository Types: 

  • Public remote external repository: This public external repository exists at ibiblio.org and maven synchronizes with this repository.
  • Private remote internal repository: We set up this repository and make changes in the maven's pom.xml or settings.xml file to use this repository.
  • Local repository: This repository is maintained by the developer and stays on the developer's machine. It is synchronous to the maven repository defined in the settings.xml file that exists in the .m2 directory at its standard location i.e. C:\Documents and Settings\Administrator. If no private internal repository is setup and not listed in the pom.xml or in the setting.xml then the local repository exists on the developer's machine is synchronized with the public maven repository at ibiblio.org.

Advantages of having an internal private repository : 

  • Reduces conflicts among likelihood versions.
  • To build first time it requires less manual intervention.
  • Rather than having several separate independent libraries it provides a single central reference repository for all the dependent software libraries.
  • It quickly builds the project while using an internal repository as maven artifacts are retrieved from the intranet server rather than retrieving from the server on internet.

Internal private repository of an organization:

Use cases for maven repository: 

  • It creates two sub-repository inside the internal repository.
  • Downloads ibiblio-cache from ibiblio for artifacts and make it available publically. This synchronizes with external repository from ibiblio.
  • internal-maven-repository: used for internal artifacts of an organization. It contains unique artifacts for the organization and is not synchronized with any repository.
  • Alternatively, another sub-repository that is not at ibiblio can be created for artifacts. This does not synchronize with any external repository.
  • Browse the remote repository by using a web browser.
  • Search the artifacts in the repository.
  • Download code from version control and make changes in settings.xml to point to the internal repository and build without any manual intervention.
  • Install new version of the artifacts.
  • Import artifacts into the repository in bulk.
  • Export artifacts from the repository in bulk.
  • Setup the task to backup the repository automatically.

Criteria for choosing a maven repository implementation: In ideal condition a maven repository implementation should be:

  • Free and open source
  • Provide admin tools
  • Easy to setup and use
  • Provide backup facility
  • Able to create, edit and delete sub repositories.
  • Anonymous read only access and also access control facility.
  • Deployable in any standard web server such as Tomcat or Apache.
  • Issue tracker, forums and other independent source of information.
  • Active community developers make the product enhanced and bugs fixed.
  • Bulk import/export facility to move groups of artifacts into the repository and out of the repository.
  • Provide a repository browser: should be a web browser instead of the desktop application.