在Windows 7中,当我双击我的.jar文件时,应用程序部分运行,然后挂起。 当在命令行上使用java -jar MyFile.jar
或javaw -jar MyFile.jar
运行时,它运行的很好。 当使用GUI来运行它时,它也能在linux mint上正常运行。 有什么办法可以debugging吗? (最好使用eclipse)
编辑:
好。 我可能已经缩小了范围。 当我写一个简单的testing应用程序:
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警告我说:“无法find主类:MyDebug。程序将退出”。
编辑:
我现在可能已经进一步缩小了范围。 从桌面启动时使用32位版本的javaw,从命令行启动时使用64位版本。
解决我通过控制面板中的程序和function解决了问题,卸载Java并重新安装它。 尽pipe如此,我还是不能回答自己的post
@本尼汉给了我一个好主意(+1)。 尝试从命令提示符运行javaw -jar MyFile.jar
而不是java -jar MyFile.jar
。 我相信你的应用程序会挂起来,就像在你通过双击jar文件运行时一样。 在这种情况下,可能的原因是在程序中使用STDIN或STDOUT。 请记住:使用javaw
时,它们不存在。
在你的Windows环境中,检查java命令和javaw命令。 双击jar文件时,javaw命令会运行jar文件。 我想这也许是因为你安装了多个jre。
尝试通过脚本启动..
echo "started from %cd%" set scriptroot=%~dp0% java -version echo %path% java -jar %scriptroot%\MyFile.jar echo "press any key to continue" pause
然后回来与Java版本,异常等