여러 종속성이있는 거대한 명령 줄 응용 프로그램에서 현재 사용자 경로를 얻으려고합니다. 매번 "." 가 사용되면, 현재 사용자 경로 (호출이 이루어지는 위치)가 아닌 응용 프로그램 경로 (jar이있는 위치)를 제공합니다.Java에서 응용 프로그램 경로가 아닌 현재 사용자 경로 얻기
그래서,이 실행 된 경우 :.
File file = new File(".");
System.out.println(file.getCanonicalPath());
나에게
를 응용 프로그램이 존재하는 경로를 제공하지만 별도의 작은 응용 프로그램을 작성하고, 동일한 코드를 사용하는 경우. jar를 다른 디렉토리에서 호출하면 현재 사용자 경로가 제공됩니다.
JSAP 명령 줄 구문 분석기를 사용하여 명령 줄 인수를 사용하고 있습니다. 어떻게이 문제를 해결할 수 있습니까? 큰 응용 프로그램에서 응용 프로그램 경로가 아닌 현재 사용자 경로를 얻길 원합니다.
무엇이 다른 행동을하게합니까?
System.getProperty("user.home");
가에서 사용자가 즉, 귀하의 응용 프로그램을 시작하는 위치를 app/app.jar'? – Baz
예, 사용자가 jar 파일을 호출하는 디렉토리를 원합니다. 그것은 작은 독립형 애플 리케이션에서 작동하는 것 같다. 큰 응용 프로그램이 아니라 비록 내가 코드를 응용 프로그램의 메인 라인에 삽입했다. – user724535