我创建了一个java项目,当我从eclipse执行我的应用程序时,它没有任何问题,也没有例外。我创建了一个jar来执行它在我用于开发的计算机上工作,我在另一台PC上试过,它只有在我在CMD中执行java-jar program.jar
时才有效。
我尝试使用jar使用jarBundler创建应用程序mac(.App)。但问题是,当我运行应用程序时,它可以工作,但它不会停止。实际上,我的一个按钮执行一个脚本,一个条执行在执行结束时停止。启动脚本的mac应用程序不会停止,如果我在终端中尝试我的脚本,它可以使用它工作的jar。我不知道是什么问题以及如何检测它。
答案 0 :(得分:0)
尝试将日志记录(调试)消息合并到您的代码中(尤其是未按预期完成执行的方法)。跟踪对方法执行至关重要的所有对象的状态,并比较不同环境下的结果。
如果您使用多个线程,请添加日志记录以跟踪其状态,并确保它们按预期结束并且没有死锁。
关于环境的差异(不同的操作系统和控制台/ UI执行),请检查 所有java特定的环境变量,即JAVA_HOME,JAVA_OPTS等。 您的UI和控制台用户可能(尽管极不可能)使用不同的环境。变量
答案 1 :(得分:-1)
如果停止脚本在mac中不起作用,你可以在代码中进行一些更改并编写脚本以便关闭,因为它可以在两个平台上运行。
如果无法获得这样的代码而不是为mac和其他操作系统编写不同的脚本,那么首先你要编码通过代码来识别操作系统,而不是根据操作系统通过macthing运行代码。
了解操作系统:
public static boolean isWindows() {
String os = System.getProperty("os.name").toLowerCase();
// windows
return (os.indexOf("win") >= 0);
}
public static boolean isMac() {
String os = System.getProperty("os.name").toLowerCase();
// Mac
return (os.indexOf("mac") >= 0);
}
你能否清楚关闭脚本。这将有所帮助..
<强> - 嗡 - 强>