在 Windows 7 中,当我双击我的 .jar 文件时,该应用程序会部分运行然后挂起。当在命令行上使用 java -jar MyFile.jar
或 javaw -jar MyFile.jar
运行时,它运行得很好。当使用 GUI 运行它时,它在 linux mint 上也运行良好。有什么办法可以调试这个吗? (最好使用eclipse)
编辑:
好的。我可能已经缩小了范围。当我编写一个简单的测试应用程序时:
import javax.swing.JOptionPane;
public class MyDebug {
private static void err(String message){
JOptionPane.showMessageDialog(null,message);
}
public static void main(String[] args){
err("test");
}
该程序使用 javaw 在命令行中运行良好,但是当尝试从桌面执行时,java 警告我“找不到主类:MyDebug。程序将退出。”
编辑:
我现在可能会进一步缩小范围;从桌面启动时,使用 32 位版本的 javaw,从命令行启动时,使用 64 位版本。
已解决 我通过转到控制面板中的程序和功能,卸载 java 并重新安装来解决了这个问题。虽然还不能回答我自己的帖子
最佳答案
@Benny Han 给了我一个好主意 (+1)。尝试从命令提示符运行 javaw -jar MyFile.jar
而不是 java -jar MyFile.jar
。
我相信当您通过双击 jar 文件运行它时,您的应用程序将完全挂起。在这种情况下,可能的原因是在您的程序中使用了 STDIN 或 STDOUT。请记住:使用 javaw
时它们不存在。
关于Java 应用程序在未从命令行运行时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9339736/