$ java -jar foo.jar
To let your users use your
foo.jar this way, you have to either make it "fat" or instruct them to download all dependencies and make them available on the classpath. In either case, they have to download binaries manually, for example with
wget. Besides, you have to make sure they have the right version of the JVM installed. It's a hassle.
Instead, you use jacli and let your users do this (say, you are on MacOS and
org.cqfn:foo:1.0.4 are the coordinates of the JAR in Maven Central):
$ brew install jacli $ jacli install org.cqfn:foo:1.0.4 $ foo
You can also do
check, and so on. Jacli is checking the JVM for you, downloading all dependencies, creating the command line hook at
/usr/local/bin/ and so on. It does everything you need in order to run this single JAR smoothly.
All you need to do in order to make your JAR jacli-ready is to put
jacli.properties into its
META-INF directory and release it to Maven Central (the
pom.xml accompanying your JAR will be used to download dependencies):
binary=foo jvm.min=8 jvm.max=13
BTW, we are aware of Coursier.
The logo is made by Freepik.