
It will be easier to collaborateand distribute software internally. If you have a proprietary JDBC driver, add it to an internal 3rd party repository so developers can add it as a project dependency without having to manually install it in a local repository. You can deploy 3rd party artifacts to your repository manager. If your internet connection becomes unavailable, your builds will rely on a local cache of artifacts from a remote repository. Builds will be more stablebecause you will not be relying on external resources. Builds will run much fasteras they will be downloading artifacts from a local cache. For example, a snapshot artifact for commons-lang 1.3.0 might have the name commons-lang-1.3. A Snapshot artifact has both a version number such as “1.3.0” or “1.3” and a timestamp. Snapshots capture a work in progress and are used during development. The Central Maven repository stores release artifacts. Released JAR artifacts are associated with PGP signatures and checksums verify both the authenticity and integrity of the binary software artifact. Released artifacts are considered to be solid, stable, and perpetual in order to guarantee that builds which depend upon them are repeatable over time.
These are specific, point-in-time releases. You can use a hosted, internal repository to store internal release artifacts, snapshot artifacts, or 3rd party artifacts. When you host a repository, your repository manager takes care of organizing, storing, and serving binary artifacts. Subsequent requests for the same artifact will be served from the local cache.
If the artifact is not already cached, the repository manager will retrieve the artifact from the remote repository and cache the artifact. When you proxy a remote repository, you repository manager accepts requests for artifacts from clients. Maven Repository managers serve two purposes: they act as highly configurable proxies between your organization and the public Maven repositories and they also provide an organization with a deployment destination for your own generated artifacts. Maven and other tools such as Ivy interact with repositories to search for binary software artifacts, locate project dependencies, and retrieve software artifacts from a repository. A Maven repository provides a standard for storing and serving binary software.