maven-central-publish
Comprehensive guide and toolkit for publishing Java artifacts to Maven Central using the modern Central Portal (central.sonatype.com) workflow.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/misakiga/maven-central-publishMaven Central Publish Skill
This skill provides a standardized workflow for publishing Java/Kotlin libraries to the Maven Central Repository using the modern Central Portal (via central-publishing-maven-plugin).
📋 Prerequisites
- Central Portal Account: Sign up at central.sonatype.com.
- Namespace Verified: You must have verified your
groupId(e.g.,io.github.usernameorcom.yourdomain) in the portal. - User Token: Generated from the Central Portal (My Account -> Generate User Token).
🛠️ Environment Setup
1. Install Tools
Ensure maven, gnupg, and openjdk-17+ are installed.
# Ubuntu/Debian
apt-get install -y maven gnupg openjdk-17-jdk
2. GPG Configuration (Critical)
Maven requires GPG signing. For automated/headless environments, Loopback Pinentry is required.
# 1. Generate Key (if none exists)
gpg --gen-key
# 2. Configure Loopback (Prevent UI prompts)
mkdir -p ~/.gnupg
echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
gpg-connect-agent reloadagent /bye
# 3. Publish Key
gpg --list-keys # Get your Key ID (last 8 chars or full hex)
gpg --keyserver keyserver.ubuntu.com --send-keys <KEY_ID>
3. Maven Settings (~/.m2/settings.xml)
Configure your Central Portal credentials.
<settings>
<servers>
<server>
<id>central</id>
<username>USER_TOKEN_USERNAME</username>
<password>USER_TOKEN_PASSWORD</password>
</server>
</servers>
<profiles>
<profile>
<id>release</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.passphrase>YOUR_GPG_PASSPHRASE</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
📦 Project Configuration (pom.xml)
Your project MUST meet the Quality Requirements:
- Coordinates:
groupId,artifactId,version. - Metadata:
name,description,url,licenses,developers,scm. - Plugins: Javadoc, Source, GPG, and Central Publishing.
Recommended Plugin Configuration
Add this to your <build><plugins> section:
<!-- 1. Source Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>attach-sources</id>
<goals><goal>jar-no-fork</goal></goals>
</execution>
</executions>
</plugin>
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-misakiga-maven-central-publish": {
"enabled": true,
"auto_update": true
}
}
}