代码之家  ›  专栏  ›  技术社区  ›  Martijn Courteaux

Java+Linux:工作目录是我的主文件夹

  •  2
  • Martijn Courteaux  · 技术社区  · 15 年前

    很多人都有这样的问题:当他们从nautilus启动一个JAR应用程序时,CWD(当前工作目录)被设置为他们的主文件夹(而不是JAR所在的文件夹)。这是鹦鹉螺的一个bug,尤其是Linux。

    如果你知道一个诀窍,让你更容易正确地启动一个Jar,而不是打开一个终端并在那里手动输入 java -jar myJar.jar ,请在下面张贴。

    谢谢


    File f = new File("ASimpleTextFile.txt");
    System.out.println(f.getAbsolutePath());
    

    在Windows中,将打印: [The Path To The Jar]/ASimpleTextFile.txt
    但在Linux中,它会打印: /home/[yourName]/ASimpleTextFile.txt

    2 回复  |  直到 15 年前
        1
  •  4
  •   Community Mohan Dere    9 年前

    基本上不保证当前工作目录有什么变化。

    Determine location of a java class loaded by Matlab

        2
  •  0
  •   Martijn Courteaux    7 年前

    我编写了一个小型C++应用程序,它充当一个包装器,它首先设置工作目录。 可以找到应用程序的代码 here on pastebin /usr/bin/java-jar-launch .

    java-jar-launch . 别忘了选中该复选框以记住Java JAR类型。按“确定”并关闭。

    java 具有 正确的工作目录。