-
Notifications
You must be signed in to change notification settings - Fork 177
Publish to Maven Central Repository
Benjamin Possolo edited this page Nov 28, 2023
·
9 revisions
Create a ~/.m2/settings.xml file with the following contents:
<settings>
<servers>
<server>
<id>ossrh</id>
<username>YOUR_OSSRH_USERNAME</username>
<password>YOUR_OSSRH_PASSWORD</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<properties>
<gpg.keyname>YOUR_GPG_KEY_ID</gpg.keyname>
<gpg.executable>GPG_EXECUTABLE</gpg.executable>
<gpg.passphrase>YOUR_KEY_PASSPHRASE</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
On Mac OS X, the gpg.executable
property should be either gpg
or gpg2
.
- bump pom.xml version to non-snapshot version
- commit and push to github
mvn clean deploy -P ossrh
- enter your gpg key passphrase when prompted
- log in to Sonatype OSSRH
- click Staging Repositories
- find the release
comgithubua-parser-*
- verify the contents are ok
- click Close (wait for validation steps under the Activity tab to complete)
- click Release
- create git tag
git tag v1.6.1
- push tag to GitHub
git push origin --tags
- bump pom.xml version to next snapshot version
- commit and push to GitHub
- update changelog wiki page
- update versions in README.md
- create GitHub release using the new tag & include changelog entries in release description
Deploying to Sonatype OSSRH using Maven
Releasing the artifact in Sonatype OSSRH
Sonatype OSSRH is synced with Maven Central Repository so the artifacts will appear in Maven Central Repo automatically shortly after releasing.
error gpg: signing failed: Inappropriate ioctl for device
when building/deploying artifact to Sonatype
add the following to your .bash_profile
GPG_TTY=$(tty)
export GPG_TTY