我有一个包含两个简单的Java Swing文件的程序。
如何为程序制作可执行的JAR文件?
我有一个包含两个简单的Java Swing文件的程序。
如何为程序制作可执行的JAR文件?
Answers:
jar文件只是包含Java文件集合的文件。为了使jar文件可执行,您需要指定main
Class在jar文件中的位置。示例代码如下。
public class JarExample {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
// your logic here
}
});
}
}
编译您的类。要制作一个罐子,您还需要创建一个清单文件(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。
jar cvfe jarexample.jar com.example.jar.JarExample *.class
jar cvfe myjar.jar package.MainClass *.class
MainClass
您的main
方法所在的类在哪里,并且package
是MainClass
的包。
请注意,您必须先将.java
文件编译为.class
文件。
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
这个答案受到Powerslave对另一个答案的评论的启发。
Error: Could not find or load main class mtx.testClass Caused by: java.lang.ClassNotFoundException: mtx.testClass
testClass
在您的.class
文件之一中定义的?.java
在运行此命令之前,请确保已编译源()文件。同样,通常您的类应该是UpperCamelCase,您可以尝试将其重命名为TestClass
。
如果使用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文件将位于目标目录下。
回答这个问题为时已晚。但是,如果有人正在搜索此答案,那么我已经使其运行起来没有错误。
首先,请确保下载maven并将其添加到path。mvn --version
如果您已正确添加到路径,则[ ]将为您提供版本说明。
现在,将以下代码添加到maven项目[ pom.xml
],在以下代码中替换为您自己的主文件入口点,例如[ 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>
现在去命令行[CMD
在你的项目],然后键入mvn package
,它会生成一个jar文件,就像这样 ProjectName-0.0.1-SNAPSHOT.jar
在target
目录中。
现在导航到目标 目录的 cd target
。
最后输入java -jar jar-file-name.jar
,是的,如果您的程序没有任何错误,这应该可以成功工作。