How to create a .jar file using the terminal
Yes, we need to use new line at the end of class name... It worked for me
i.e. Main-Class: HelloWorld
It will look like this in Notepad++
1.Main-Class: HelloWorld
2.
Maybe this will help re Manifest.txt file:
Warning: The text file must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return.
1) Ensure that all necessary files are within the directory, you have opened a terminal/Command Prompt and have navigated to that directory.
2) Compile the .java class, for example HelloWorld.java with
javac HelloWorld.java
3) This will produce a .class file needed for the JAR file.
4) Next create a manifest file (saved using the extension .txt) using the text editor and input the following
Main-Class: HelloWorld
or whatever your file's name is.
5) Next create the JAR file using this code:
jar cfm HelloWorld.jar Manifest.txt HelloWorld.class
6) Run the file:
java -jar HelloWorld.jar
If anything seems unclear consult these websites: creating a jar file and setting an applications entry point.
Hope this helps others, cheers Tom!
Edit:
Following inga's comment it's worth noting that in order to include multiple files in the jar you need to use the:
javac *.java
followed by
jar cfm HelloWorld.jar Manifest.txt *.class
You need to have an text file that defines the main class. E.g.
% cat MyMain
Main-Class: HelloWorld
then
%jar cvfm foo.jar MyMain *.class
%java -jar foo.jar
Hello world
See: http://java.sun.com/j2se/1.4.2/runtime.html#example.