Maven Authentication Guide

From RetroMC
Jump to navigation Jump to search


Adding GitHub Credentials to Maven

Purpose

This guide is intended for RetroMC developers who need to configure their local development environments to access private RetroMC artifacts published via our SonaType RetroMC mirror.

These credentials allow Maven to authenticate against GitHub in order to:

  • Download private RetroMC dependencies
  • Publish internal artifacts where required
  • Build and test RetroMC projects locally without authentication errors

This setup is required for local development on projects that depend on private RetroMC packages.

Prerequisites

  • A RetroMC Sonatype developer account (Requested from JohnyMuffin)
  • Access to the relevant GitHub organisation/repositories
  • Maven installed locally

Step 1: Add the SonaType credentials to Maven

Open (or create) the following file:

~/.m2/settings.xml

On Windows, this is typically:

C:\Users\<your-username>\.m2\settings.xml

Add the following configuration:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              https://maven.apache.org/xsd/settings-1.0.0.xsd">

    <servers>
        <server>
            <id>johnymuffin-nexus-retromc</id>
            <username>YOUR_SONATYPE_USERNAME</username>
            <password>YOUR_SONATYPE_PASSWORDE</password>
        </server>
    </servers>

</settings>



Replace:

  • YOUR_SONATYPE_USERNAME with your Legacy Minecraft Sonatype Nexus Repository username
  • YOUR_SONATYPE_PASSWORDE with the Legacy Minecraft Sonatype Nexus Repository token
Maven settings.xml configuration
Maven settings.xml configuration

Step 2: Verify

You should now be able to:

  • Deploy artifacts to Sonatype
  • Download packages from private repositories
  • Run Maven builds without authentication errors

If authentication fails:

  • Confirm the <id> matches your repository id
  • Ensure the token includes read:packages and write:packages
  • Ensure you have access to the desired repository on GitHub
  • Check the token has not expired

Security Notes

  • Never commit settings.xml to Git
  • Do not share tokens in screenshots, logs, or chat
  • Revoke tokens immediately if exposed