ユーザーがWindowsエクスプローラーから実行できるように、アプリケーションのjarファイルを作成しました。一部の設定では、JSONファイルを独自の作業ディレクトリにロードします(パス「。\ config.json」を使用)。ただし、Windowsエクスプローラーのjarファイルから実行すると、構成ファイルが見つかりませんが、コマンドラインから同じjarを実行すると機能します。これは、エクスプローラーが作業ディレクトリをjarのフォルダー以外に設定しているためだと思います。それは何に設定しますか?(そして、どうすればjarの独自のフォルダーを見つけることができますか?)
9167 次
2 に答える
3
System.getProperty("user.dir");
印刷して、アプリケーションが何を考えているか調べてみませんか?
user.dir User's current working directory
PARENT
以下を使用して、ロード元の場所を取得します.jar
。これは、あなたが望むように聞こえます
import java.io.*;
public class Main
{
public static void main(final String[] args) throws IOException
{
final File file = new File(".");
System.out.println("file = " + file.getAbsoluteFile().getParent());
}
}
コマンド ラインから実行するか、Windows エクスプローラーからダブルクリックしたときの出力は次のとおりです。
file = c:\Users\Jarrod Roberson\Projects\SwingJarFinder
于 2011-11-18T20:03:49.350 に答える
0
次の複製のように見えます:
jar ファイルがファイル システムにある場合は、ここから開始して現在のパスを取得します。
ClassLoader.getSystemClassLoader().getResource(".").getPath();
于 2011-11-18T20:04:52.287 に答える