Ever tried doing this?
java -cp "." -jar Sample.jar
Doesn't work, does it! I found out it the hard way. I actually had to debug all the way down to logging all the classpath in the program.
Java(1) 'does' spell this out.
But who reads the documentation, right. To make this work, one can simply put the corresponding jar file in the classpath and call the .class without issuing the '-jar' switch. Something like this,
java -cp "Sample.jar:." Sample
java -cp "." -jar Sample.jar
Doesn't work, does it! I found out it the hard way. I actually had to debug all the way down to logging all the classpath in the program.
Java(1) 'does' spell this out.
- -jar
- Execute a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name. In order for this option to work, the manifest of the JAR file must contain a line of the form Main-Class: classname. Here, classname identifies the class having the
public static void main(String[] args)
method that serves as your application’s starting point. See the Jar tool reference page and the Jar trail of the Java Tutorial for information about working with Jar files and Jar-file manifests.
- When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored.
- Note that JAR files that can be run with the “java -jar” option can have their execute permissions set so they can be run without using “java -jar”. Refer to Java Archive (JAR) Files.
But who reads the documentation, right. To make this work, one can simply put the corresponding jar file in the classpath and call the .class without issuing the '-jar' switch. Something like this,
java -cp "Sample.jar:." Sample
Comments
Post a Comment