Java 应用程序在未从命令行运行时挂起

标签 java windows

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

相关文章:

windows - 在 Windows 上优雅地终止进程

windows - 在 Windows 服务中使用 SHFileOperation

java - 由于 JPEG 错误,ImageIO 给我一个 CMMException

java - Firebase Android 机器学习套件 : Way to hide display values on QR code

java - 在java中查找x和y坐标是否在 View 内由两个相交的矩形包围

Windows 结构的 C++

Windows 服务无法访问共享位置

windows - Windows 成像组件能否返回人类可读的格式名称?

java - 如何将链接列表中的下一个元素打印到 CSV 文件?

java - 使用 servlet 重写 pdf 文件(模板)