在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并重新安装它来解决问题。虽然不能回答我自己的帖子
答案 0 :(得分:4)
javaw -jar MyFile.jar
而不是java -jar MyFile.jar
。
我相信你的应用程序会在你通过双击jar文件运行时完全挂起。在这种情况下,可能的原因是在程序中使用STDIN或STDOUT。请记住:使用javaw
时,它们不存在。
答案 1 :(得分:3)
,检查java命令和javaw命令。双击jar文件时,javaw命令会运行jar文件。我想这可能是因为你安装了多个jre。
答案 2 :(得分:1)
尝试通过脚本启动..
echo "started from %cd%"
set scriptroot=%~dp0%
java -version
echo %path%
java -jar %scriptroot%\MyFile.jar
echo "press any key to continue"
pause
然后返回java版本,异常等。