https://central.sonatype.org/publish/ Maven Central == OSSRH (Open Source Software Repository Hosting) Snapshots get purged from all repositories other than .../groups/staging, daily or so. ALL (and only) SNAPSHOTS https://oss.sonatype.org/content/repositories/snapshots RELEASE UPLOADS Only! [But there is one snapshot there! Apparently can deploy snapshots there somehow.] https://oss.sonatype.org/service/local/staging/deploy/maven2 REAL SYNC-TO-MAVEN SITE (no snapshots) Gets releases upon RELEASE https://oss.sonatype.org/content/repositories/releases If do a manual upload then the publication is Closed automatically. Pure manual mode Just upload the *.jar and *.pom files with paired *.asc for each, in a zip file. Somehow when the server recieves it they generate 4 checksum files per jar/pom/asc file, making total of 10 files per jar or pom. Using 'mvn' to publish artifacts isn't quite as documented by Maven. Compared to manual mode, this auto-generates just 2 checksum files per jar/pom/asc file, making total of 6 files per jar or pom. PREP If don't have *.pom files, take *.pom files from previous version, update contents with text editor. Rename all new *.jar and *.pom files exactly as they need to appear in Maven Central. I.e. like "hsqldb-2.7.0-jdk8.jar" and "sqltool-2.7.0.pom". You must set up credentials for the specified 'repositoryId' in "~/.m2/settings.xml". Use browser to verify that new version directory is not present at https://oss.sonatype.org/content/groups/public/X/Y/Z (referenced below as pub version dir) GOTCHA! Don't navigate from a directory above X here! That will direct you to repo1... Use browser to verify that new version directory is not present at https://oss.sonatype.org/content/groups/staging/X/Y/Z (referenced below as stage version dir) Log in with browser at https://oss.sonatype.org/#welcome. Select Build Promotion > Staging Repositories in left nav panel and verify that the 'Staging Repositories' tab that comes up in main panel is empty. This tab is referenced below as "Staging Repositories tab". Use browser to verify that Maven Central new version directory is not present at https://repo1.maven.org/maven2/X/Y/Z Sample upload commands that work: 1st to upload the base jar and pom files: mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2 -DrepositoryId=repotst -DpomFile=repotst-0.1b.pom -Dfile=repotst-0.1b.jar The ´repositoryId' value must match a server in "~/.2/settings.xml". If fails, re-run mvn command with -X switch to see details. First time running it asks for gpg password and if you check save-to-something it will prompt for default keyring password, but for some reason my session login password isn't working. If this happens to you, just use Cancel button here and things will proceed fine. [somebody on web says to remove ~/.local/share/keyrings/* to remedї this]. Verify in Staging Repositories tab that a new publish record has appeared (Refresh button). Select the publish record to open it in the details panel below the main paneŀ. In the details panel's Content tab, expand nodes to verify that these files all appear: Specified *.jar file + specified *.pom file + (*.asc PGP file + 4 checksum files) for each, for a total of 12 files. Then change -Dfile value and add -Dclassifier for sources, javadocs, and custom classifiers, like: mvn SAME-AS-BEFORE but change -Dfile value and add -Dclassifier switch: ... -Dfile=ossrh-test-1.2-sources.jar -Dclassifier=sources Use Refresh button in Staging Repositories tab, detail panel and verify that 6 new files appear for each new classifier (*.jar file + *.jar.asc PGP file + 4 checksum files). [With the classifier transmittals, the POM gets replaced (uploaded and modified times update), though the contents are the same; but the *pom.asc content seems to change (acc. to checksums).] If you have other products (like for 'sqltool' after 'hsqldb'), repeat base + classifier mvn commands and Staging Repositories tab checks for the additional products. These updates will all add to the initially created publish record. To revert everything (for example if something went wrong and you want to start over), use the Drop button in the Staging Repositories tab main panel. After all uploads verified in Staging Repositories tab, use Close button in main panel. When the Close operation is completed (see Activity attribute in details Summary tab), check that the stage version dir is present and contains the same 6 files * (base+pom+classifiers) Can still Drop after Closing. Use Release button in Staging Repositories tab main panel. I'm leaving the auto-drop checkbox on. Don't know effect if leave it un-dropped. When the Release operation is completed, as indicated by the publish record being gone, check that the pub version dir is present and contains the same 6 files * (base+pom+classifiers) Monitor the Maven Central directories. The new version directories should appear about 5-10 minutes after the Release op. completes. Contrary to docs, mvn will transmit via https. Repository Groups. They both get snapshots quickly. Remember to SHIFT-RELOAD web browser! N.b. you can't browse these root 'staging' and 'public' directories. Must start 1 level down. https://oss.sonatype.org/content/groups/staging <- gets releases upon CLOSE (removed upon DROP) https://oss.sonatype.org/content/groups/public <- gets releases upon RELEASE Sonatype Usage guide is messed up w.r.t. Git repositorites. The scm.url should be browse-able, so use Github home page, even if it is same as the project URL. Example for scm.connection has wrong format. Use the public R/O git URL. GRADLE SNAPSHOTS: repositories { maven { url 'https://oss.sonatype.org/content/groups/staging' } } (Switch "staging" to "public" to get post-release releases) SNAPSHOTS Sonatype repositories don't write snapshot artifacts like How in hell can end users browse? Closes is to view descriptor like https://oss.sonatype.org/service/local/repositories/snapshots/content/org/hsqldb/sqltool/SNAPSHOT/ Get with known snapshot version: https://oss.sonatype.org/service/local/repositories/snapshots/content/org/hsqldb/sqltool/SNAPSHOT/sqltool-20120825.143822-1.jar Get latest curl -LO 'https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=org.hsqldb&a=sqltool&v=LATEST' From browser: https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=org.hsqldb&a=sqltool&v=LATEST