Root POM for GlobalMentor projects. Provides profiles and dependency management for project building and testing.
Note that by default the release profile signs the artifact with the GlobalMentor software signing key during the verify phase. If verifying, installing, or deploying with the release profile in a non-GlobalMentor project, the key needs to be changed by overriding the gpg.keyname user property, or setting the keyname configuration of the Apache Maven GPG Plugin gpg:sign goal.
Publishing to Maven Central uses the Central Publishing Maven Plugin and requires opt-in via the central.publishing.enabled property.
- Create a Portal User Token in the Sonatype Central Portal
- Add the token to your Maven
settings.xml:<servers> <server> <id>central</id> <username>your-token-username</username> <password>your-token-password</password> </server> </servers>
To enable publishing for a child project, add to its POM:
<properties>
<central.publishing.enabled>true</central.publishing.enabled>
</properties>Then deploy with the publish profile:
mvn clean deploy -PpublishTo publish the root POM itself, enable publishing via command line:
mvn clean deploy -Ppublish -Dcentral.publishing.enabled=trueBy default, central.publishing.enabled is false to prevent accidental publishing of proprietary projects. Projects must explicitly opt-in to publishing.
Issues tracked by JIRA.
This POM allows you to check for newer dependencies and plugins available on Maven Central.
mvn versions:display-dependency-updates
mvn versions:display-plugin-updatesThis POM is configured not to list non-release versions when checking for newer versions. Below are some real-world examples of non-release artifact versions that are ignored:
org.slf4j:slf4j-api:2.0.0-alpha7jakarta.enterprise:jakarta.enterprise.lang-model:4.1.0.Alpha1jakarta.persistence:jakarta.persistence-api:3.2.0-B01maven-surefire-plugin:3.0.0-M7jakarta.inject:jakarta.inject-api:2.0.1.MRcom.fasterxml.jackson.core:jackson-core:2.16.0-rc1