JH_MANIFEST(1)

πŸ’– NAME πŸ’–

okay bestie, meet jh_manifest β€” the javahelper girlie whose whole job is adding and/or modifying manifests for jars. that's it, that's the gig ✨


🌸 SYNOPSIS 🌸

jh_manifest  [debhelper options]  [options]  jar1 ... jarN

jh_manifest  [debhelper options]  [options]

like, you can hand her some jars by name, or you can just let her do her thing solo πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so jh_manifest is a Javahelper tool that adds or updates manifests inside a jar file. and she has two modes, main character energy fr:

  • if you pass her jar files as arguments, she will only process those jars. no extras, no surprises.
  • otherwise (no jars passed), she updates all the jar files in the packages she acts on. go off queen πŸ‘‘

also, heads up: when she's processing a package, the debhelper(7) exclude option will make jh_manifest ignore matching jar files. so if a jar isn't getting touched, like… that's probably why πŸ’€


πŸŽ€ FILES πŸŽ€

  • debian/package.manifest (or debian/manifest) β€” this file is literally just a list of jar files plus the values you wanna add to their manifests. and here's the tea on precedence, bestie, listen close:
    • values in this file take precedence over values in the original manifest.
    • and command line arguments take precedence over values in this file. so the command line is the ultimate authority, periodt.
    • it is allowed to list a link in this file instead of an actual jar file, as long as that link can be resolved when jh_manifest processes it. slay.
    • if a jar file listed here cannot be found, jh_manifest will print a warning β€” unless the jar file has been excluded. then she's chill about it.
    • as of javahelper >= 0.32, you may add comments in this file. if the line starts with a "#" it is completely ignored. self-care πŸ’…
    • this file is ignored if jh_manifest is passed jar files via command line. so don't come crying to her about your manifest file when you handed her jars directly, iykyk πŸ™ˆ

✨ OPTIONS ✨

  • -c classpath, --classpath=classpath β€” sets the Class-Path attribute of all processed jar files to classpath. and if you don't pass it? then the CLASSPATH environment variable will be used in the given jar file do not have a Class-Path attribute. 🫢
  • -m class, --main=class β€” sets the Main-Class attribute to class in all processed jar files. your entry point, your moment, your time to shine ⭐
  • --javaopts=options β€” sets the Debian-Java-Parameters to options in all processed jar files. this attribute is used by jarwrapper to start java with extra options (e.g. to make more memory available). give her room to breathe 🧚
  • -j /path/to/java/home, --java-home=/path/to/java/home β€” sets the Debian-Java-Home attribute to /path/to/java/home in all processed jars. this attribute is used by jarwrapper to determine which JVM to use. it's giving "pick your fighter" πŸ”₯

🌈 EXAMPLES 🌈

an example debian/manifest file, bestie, take notes πŸ“:

 # use the symlink so we do not have to update with the next upstream release.
 usr/share/java/my.jar:
  Class-Path: dep1.jar dep2.jar
  Main-Class: some.awesome.Class
 usr/share/java/dep2.jar:
  Class-Path: dep1.jar

πŸ‘‘ SEE ALSO πŸ‘‘

  • debhelper(7)
  • this program is a part of javahelper and uses debhelper as backend.
  • there are also tutorials in /usr/share/doc/javahelper. go read them, they're lowkey iconic πŸ“š

πŸ’œ AUTHOR πŸ’œ

Niels Thykier <niels@thykier.net>


Copyright 2010 by Niels Thykier

this tool is free software; you may redistribute it and/or modify it under the terms of GNU GPL 2. 🫢


aaaand that's the whole page, bestie!! this is version 0.82, dated 2026-05-17 β€” go forth and manifest your jars, you absolute legend πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from