如何制作可执行的jar文件?

时间:2011-03-10 10:10:47

标签: java jar executable-jar

我有一个程序,它包含两个简单的java swing文件。

如何为我的程序制作可执行jar文件?

5 个答案:

答案 0 :(得分:73)

jar文件只是一个包含java文件集合的文件。要使jar文件可执行,您需要指定jar文件中main类的位置。示例代码如下。

public class JarExample {

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

编译你的课程。要制作一个jar,您还需要创建一个清单文件(MANIFEST.MF)。例如,

Manifest-Version: 1.0
Main-Class: JarExample

将已编译的输出类文件(JarExample.class,JarExample $ 1.class)和清单文件放在同一文件夹中。在命令提示符下,转到放置文件的文件夹,然后使用jar命令创建jar。例如(如果您将清单文件命名为jexample.mf)

jar cfm jarexample.jar jexample.mf *.class

它将创建可执行文件jarexample.jar。

答案 1 :(得分:35)

Eclipse 中,您可以按如下方式执行此操作:

  

右键单击Java项目并选择 Export

     

选择 Java - > Runnable JAR文件 - >下一步。

     

选择启动配置并选择项目文件作为主类

     

选择要保存的目标文件夹,然后单击“完成”。

答案 2 :(得分:10)

这是一行:

/

其中jar cvfe myjar.jar package.MainClass *.class 是使用MainClass方法的类,而mainpackage的包。

请注意,在执行此操作之前,您必须将MainClass文件编译为.java个文件。

.class

这个答案的灵感来自Powerslave对另一个答案的评论。

答案 3 :(得分:0)

如果您使用maven,请将以下内容添加到您的 pom.xml 文件中:

<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>

然后您可以运行mvn package。 jar文件将位于 target 目录下。

答案 4 :(得分:0)

回答这个问题为时已晚。但是,如果现在有人在搜索此答案,我就可以使其运行无误。

首先请确保下载并向路径添加行家。如果您已正确添加到路径,则[mvn --version会为您提供版本说明。

现在,将以下代码添加到 maven项目 [pom.xml]中,在以下代码中替换为您自己的主文件入口,例如[ com.example.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>

现在转到项目中的命令行[CMD]并键入mvn package,它将在ProjectName-0.0.1-SNAPSHOT.jar目录下生成一个类似于target的jar文件。 / p>

现在通过cd target导航到目标 目录

最后键入java -jar jar-file-name.jar,是的,如果程序中没有任何错误,这应该可以成功工作。