我有一个程序,其中包含两个简单的Java Swing文件。
我怎样才能为我的程序创建可执行的JAR文件?
我有一个程序,其中包含两个简单的Java Swing文件。
我怎样才能为我的程序创建可执行的JAR文件?
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。
jar cvfe jarexample.jar com.example.jar.JarExample *.class
- Powerslavejar
命令需要单独的路径变量吗?我能够正常使用 java
和 javac
命令,但是 jar
命令却提示 'jar' 不是内部或外部命令,也不是可运行的程序或批处理文件
的错误信息。 - qwertywhich
,在PowerShell中使用get-command
命令来查看您的计算机上实际上的java
和javac
位置,以及是否存在jar
程序。 - user1086516在 Eclipse 中,您可以按照以下简单步骤完成:
右键单击您的Java项目,然后选择 导出。
选择 Java -> 可运行的JAR文件 -> 下一步。
选择启动配置并选择项目文件作为您的 Main 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
。 - Anton StafeyevtestClass
是否在你的 .class
文件中定义?确保在运行此命令之前已编译源文件(.java
)。通常情况下,类名应该采用 UpperCamelCase 命名规则,你可以尝试将其重命名为 TestClass
。 - River<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目录中。
对于这个问题来说已经太晚了,但如果有人现在正在寻找答案,我已经成功运行且没有错误。
首先,请确保下载并将maven添加到路径中。如果您已经正确地将其添加到路径中,则[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
命令,它将会生成一个类似于 ProjectName-0.0.1-SNAPSHOT.jar
的 jar 文件,存储在 target
目录下。
然后使用命令 cd target
进入 target directory 目录。
最后输入命令 java -jar jar-file-name.jar
,如果你的程序没有任何错误,它就可以成功地工作了。