Creating an executable jar File


  • In Java, it is common to combine several classes in one .jar ("java archive") file. 
  • Library classes are stored that way. 
  • jar files are created using the jar.exe utility program from JDK.  You can make your jar file runnable by telling jar.exe which class has main.  To do that, you need to create a manifest file.  A manifest is a one-line text file with a "Main-Class" directive.  For example:      

         Main-Class: Craps

         This line must end with a newline.

  • You can create a manifest file in any text editor, or even by using the MS-DOS echo command. You can give your manifest file any name, but it's better to use something standard, such as manifest.txt
  • Once you have a manifest and all your classes have been compiled, you need to run JDK's jar.exe utility.  It is located in the JDK’s bin folder, the same place where javac.exe  and java.exe are. jar.exe takes command-line arguments; if you run it without any arguments, it will display the usage information and examples.You need
         
          C\mywork> jar cvfm MyJarName.jar manifest.txt *.class

  • cvfm means "create a jar; show verbose output; specify the output jar file name; specify the manifest file name."  This is followed by the name you wish to give to your jar file, the name of your manifest file, and the list of .class files that you want included in the jar.  *.class means all class files in the current directory.
  • Actually, if your manifest contains only the Main-Class directive, you can specify the main class directly on the jar.exe's command line, using the e switch, instead of m.  Then you do not need a separate manifest file; jar will add the required manifest to your jar file for you. For example:
         
          C\mywork> jar cvfe MyJarName.jar MyMainClass *.class


         ðŸ’œ  The detailed steps for creating a jar file in command prompt :
'
      1.  Start Command Prompt.

      2.  Navigate to the folder that holds your class files:  
           C:\>cd \mywork  

      3.  Set path to include JDK’s bin.  For example:
           C:\mywork> path c:\Program Files\Java\jdk1.7.0_25\bin

      4.  Compile your class(es):
           C:\mywork> javac *.java

     5.   Create a manifest file and your jar file:
           C:\mywork> echo Main-Class: Craps >manifest.txt   
           C:\mywork> jar cvfm Craps.jar manifest.txt *.class
           or
           C:\mywork> jar cvfe Craps.jar Craps *.class

     6.   Test your jar:
           C:\mywork> Craps.jar
           or
           C:\mywork> java -jar Craps.jar









No comments: