[JLBP-21]

Upload artifacts to Maven Central

Developers expect to find artifacts in Maven Central. All artifacts intended for public consumption should be published in the Maven Central repository maintained by Sonatype. Even if a project is not built with Maven, its artifacts can and should be published to Maven Central. From here the artifacts are mirrored to many different local and public repositories.

While Maven can download artifacts from repositories other than Maven Central, this requires extra configuration in the pom.xml or build.gradle files of projects that depend on these artifacts. Tools other than Maven itself that use the repository system do not always read this information from the pom.xml files and often cannot load artifacts that are not available in Maven Central.

Developers who manually search for particular artifacts usually start at Maven Central and sometimes don’t look elsewhere.

Firewalls sometimes block access to Maven repositories. Access to Maven Central is either specifically allowed, or a local mirror of Maven Central is provided behind the firewall. However, these special arrangements are not normally in place for other repositories. Builds behind the firewall fail until the local developer convinces wary network administrators to open another hole in the firewall.

Maven repositories also become unreachable from time to time, breaking builds. While this is true of all repositories incuding the central repository, almost all projects already depend on libraries they load from Maven Central. Publishing another artifact to Maven Central does not introduce an additional point of failure. Publishing an artifact to some other repository does.

It is far more convenient for library consumers when the library and all its transitive dependencies are available in Maven Central.