How to make an executable JAR file?

后端 未结 5 1316
孤独总比滥情好
孤独总比滥情好 2020-11-21 23:41

I have a program which consists of two simple Java Swing files.

How do I make an executable JAR file for my program?

相关标签:
5条回答
  • 2020-11-21 23:57

    A jar file is simply a file containing a collection of java files. To make a jar file executable, you need to specify where the main Class is in the jar file. Example code would be as follows.

    public class JarExample {
    
        public static void main(String[] args) {
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    // your logic here
                }
            });
        }
    }
    

    Compile your classes. To make a jar, you also need to create a Manifest File (MANIFEST.MF). For example,

    Manifest-Version: 1.0
    Main-Class: JarExample
    

    Place the compiled output class files (JarExample.class,JarExample$1.class) and the manifest file in the same folder. In the command prompt, go to the folder where your files placed, and create the jar using jar command. For example (if you name your manifest file as jexample.mf)

    jar cfm jarexample.jar jexample.mf *.class
    

    It will create executable jarexample.jar.

    0 讨论(0)
  • 2020-11-22 00:04

    In Eclipse you can do it simply as follows :

    Right click on your Java Project and select Export.

    Select Java -> Runnable JAR file -> Next.

    Select the Launch Configuration and choose project file as your Main class

    Select the Destination folder where you would like to save it and click Finish.

    0 讨论(0)
  • 2020-11-22 00:04

    Here it is in one line:

    jar cvfe myjar.jar package.MainClass *.class
    

    where MainClass is the class with your main method, and package is MainClass's package.

    Note you have to compile your .java files to .class files before doing this.

    c  create new archive
    v  generate verbose output on standard output
    f  specify archive file name
    e  specify application entry point for stand-alone application bundled into an executable jar file
    

    This answer inspired by Powerslave's comment on another answer.

    0 讨论(0)
  • 2020-11-22 00:14

    It's too late to answer for this question. But if someone is searching for this answer now I've made it to run with no errors.

    First of all make sure to download and add maven to path. [ mvn --version ] will give you version specifications of it if you have added to the path correctly.

    Now , add following code to the maven project [ pom.xml ] , in the following code replace with your own main file entry point for eg [ com.example.test.Test ].

          <plugin>
                <!-- Build an executable JAR -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                        <mainClass>
                your_package_to_class_that_contains_main_file .MainFileName</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
    

    Now go to the command line [CMD] in your project and type mvn package and it will generate a jar file as something like ProjectName-0.0.1-SNAPSHOT.jar under target directory.

    Now navigate to the target directory by cd target.

    Finally type java -jar jar-file-name.jar and yes this should work successfully if you don't have any errors in your program.

    0 讨论(0)
  • 2020-11-22 00:19

    If you use maven, add the following to your pom.xml file:

    <plugin>
        <!-- Build an executable JAR -->
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.4</version>
        <configuration>
            <archive>
                <manifest>
                    <mainClass>com.path.to.YourMainClass</mainClass>
                </manifest>
            </archive>
        </configuration>
    </plugin>
    

    Then you can run mvn package. The jar file will be located under in the target directory.

    0 讨论(0)
提交回复
热议问题