我正在使用基于Java的应用程序(.jar文件)访问网站进行在线讨论.最近,我通过双击(在Mac和Ubuntu上)和java -jar client.jar从终端运行来运行应用程序之间遇到了一些奇怪的区别.当我通过双击打开客户端时,它将不允许我登录,而如果我从终端运行它,一切正常.
我知道描述可能太模糊,但我只是想知道这两种运行.jar文件的方式之间是否有任何一般的区别.谢谢!
我的Java环境如下所示:
$ java -version
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) Server VM (build 23.7-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
根据用于调用程序的方法,当前工作目录可能会更改.当通过java -jar工作目录运行时,由终端设置,可以通过提示轻松识别.双击时,目录默认为用户的主目录.快速测试演示:
public class TestWorkingDirectory {
public static void main(String[] args) {
javax.swing.JOptionPane.showMessageDialog(
null, System.getProperty("user.dir"));
}
}
Run Code Online (Sandbox Code Playgroud)
假设JAR位于/home/test/Applications,它将在从终端运行时显示此路径.双击时,它就是/home/test.因此,使用两种方法(当存档位于其中时~)路径可以是相同的,但不一定 - 尝试调试/重现异常行为时的困难.
| 归档时间: |
|
| 查看次数: |
1059 次 |
| 最近记录: |