gpt4 book ai didi

java - 可执行jar文件不执行

转载 作者:行者123 更新时间:2023-12-02 11:10:05 25 4
gpt4 key购买 nike

作为序言:我对 Java 不太有经验。我想编写一个基于Swing的窗口应用程序。创建并执行类文件可以工作,但创建 jar 文件后,双击该文件时该文件不会执行。我正在 Windows 10(64 位)上使用 SE 1.8.0_131。

我的步骤如下:

我已经创建了这个测试文件

import java.awt.event.*; 
import javax.swing.*;

public class SwingTest {

public static void main(String[] args){

JFrame mainWindow = getMainWindow();

mainWindow.setVisible(true);
}

public static JFrame getMainWindow(){
JFrame frame = new JFrame("Hauptfenster");

// Initialize Window
frame.setLayout(null);
frame.setSize(300, 300);

// Close application on window close
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

// Create and add Close-button
JButton exitButton = new JButton("Close");
exitButton.addActionListener(ae -> System.exit (0));
exitButton.setLocation(20, 20);
exitButton.setSize(100, 40);
frame.add(exitButton);

return frame;
}
}

然后我运行此命令来创建类文件:

javac SwingTest.java

这成功创建了类文件,我可以使用以下命令执行它:

java SwingTest

我创建了一个名为 SwingTest.mf

的 list 文件
Manifest-Version: 1.0
Main-Class: SwingTest

然后我运行以下命令来创建jar文件(我根据 this stackoverflow post 编写了这个命令)

jar cfm SwingTest.jar SwingTest.mf *.class

这创建了 jar 文件,但是当我双击该文件时没有任何反应(没有窗口或 CLI 弹出或闪烁,任务中没有进程出现)

创建可执行文件时我错过了什么或做错了什么?

抱歉提供了大量详细信息,并提前致谢

最佳答案

感谢所有的建议。我发现了问题。

读完this page后我注意到我的 list 文件末尾缺少一个新行。因此,我的类语句从未添加到在 jar 文件中创建的 list 中。在我的 Swingtest.mf 末尾添加新行并运行以下命令后,它最终生成了一个工作 jar 文件

jar cfm SwingTest.jar SwingTest.mf SwingTest.class

关于java - 可执行jar文件不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50670365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com