MAVEN(1)
β¨ MAVEN(1) β¨
okay bestie, we're doing the Maven Repo Helper page today and it's genuinely so useful, like it's giving "packaging jars for Debian" main character energy π«Ά the manual is called MAVEN(1), it lives in the User Commands section, and no cap, it's a whole vibe.
π NAME π
Maven β installs a jar into /usr/share/maven-repo.
πΈ SYNOPSIS πΈ
mh_installjar [option]... [pom] [jar] [link]...
π¦ DESCRIPTION π¦
So what it does is: it installs the jar file into /usr/share/maven-repo, at the exact correct location for Maven. The jar gets copied into the build directory. It can also create extra links to the jar, usually ones that live in /usr/share/java. Obsessed.
Where, exactly? Let me break it down for you:
[pom]is the location of the POM associated with the jar you want to install. The GroupId, artifactId and version get extracted from this file. (iykyk, this is the whole source of truth.)[jar]is the path to the jar to install, usually located in the build folder.[link]is an additional link to the jar to install. Usually there should be a link tousr/share/java/$jar.jarandusr/share/java/$jar-$version.jarto comply with the Java packaging guidelines. Note that there is no need to specify those particular links if the--java-liboption is used π
π OPTIONS π
-h,--helpβ show this text π-V,--versionβ show the version β-p<package>,--package=<package>β name of the Debian package which will contain this jar file-e<version>,--set-version=<version>β set the version for the jar, and do not use the version declared in the POM file-r<rules>,--rules=<rules>β path to the file containing the rules to apply when cleaning the POM. Optional! The default location isdebian/maven.rules. Maven rules are used here to extract thegroupId,artifactIdandversionfrom the POM file π₯-l,--java-libβ Optional. If given, it will install the jar into/usr/share/javato comply with the Debian Java specification. The jar will be installed as/usr/share/java/$name-$version.jarand a versionless link/usr/share/java/$name.jarwill point to it, as well as the links installed in/usr/share/maven-repoβ¨-n<name>,--usj-name=<name>β Optional, the name to use when installing the library in/usr/share/javawhen--java-libis used. Defaults to the artifact id found in the POM.-j<version>,--usj-version=<version>β Optional, the version to use when installing the library in/usr/share/javawhen--java-libis used. Defaults to the version found in the POM.-s,--no-usj-versionlessβ Optional, don't install the versionless link in/usr/share/java. This flag is used only when the-lor--java-liboption is given.-d<path>,--dest-jar=<path>β Optional, the destination for the real jar. The other places where the jar appears β in the repository or in the list of links β will be symlinks to this jar. Defaults to/usr/share/java/$name-$version.jarif--java-libis used, otherwise the jar is installed in the versioned path in the Maven repository.-c<classifier>,--classifier=<classifier>β Optional, the classifier for the jar. Empty by default.-v,--verboseβ show more information while running π-n,--no-actβ don't actually do anything, just print the results π«Ά--skip-clean-pomβ don't clean the pom; assume that a previous action ranmh_cleanpomwith the correct options.mh_cleanpomis run only to extract thegroupId,artifactIdandversionof the jar.
π not me pointing out that-nshows up twice in this list β once as-n<name>/--usj-name=<name>and once as-n/--no-act. That is literally what the page says, I'm just the messenger bestie, no editing from me π«Ά
π SEE ALSO π
and that's the whole page, periodt π you're officially a jar-installing icon, slay ππ
this lil masterpiece is brought to you by Maven Repo Helper version 1.7.1, dated September 2025 β mwah, go install something pretty ππ
π¦ where this page comes from
- ubuntu resolute: maven-repo-helper 1.12 Β· Apache-2.0
- ubuntu stonking: maven-repo-helper 1.12 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms