Java "user.dir"속성-정확히 무엇을 의미합니까?


100

user.dirdir을 단위 테스트의 기본 디렉토리로 사용하고 싶습니다 (많은 파일을 생성합니다). 이 속성이 현재 작업 디렉터리를 가리키는 것이 맞습니까 (예 : 'cd'명령으로 설정 됨)?


2
stackoverflow.com/a/840229/3159183 에서 언급했듯이 -Duser.dir플래그는 File개체 (전체 경로가 제공되지 않은 경우)에는 영향을 주지만 FileOutPutStream개체 에는 영향을주지 않습니다 . 기본 디렉토리가 둘 모두에 대해 일치하는지 확인하려면 cdJava를 시작하기 전에 해야합니다 .
SeldomNeedy

답변:


142

javaJVM을 시작한 곳 에서 실행 된 디렉토리 입니다. 사용자의 홈 디렉토리 내에있을 필요는 없습니다. 사용자가 java를 실행할 수있는 권한이있는 모든 위치에있을 수 있습니다.

따라서 cd으로 들어가면 /somedir프로그램을 실행 user.dir하면 /somedir.

다른 속성 인 user.home은 사용자 디렉터리를 나타냅니다. 마찬가지로 /Users/myuser또는 /home/myuserC:\Users\myuser.

시스템 속성 및 설명 목록은 여기 를 참조 하십시오 .


수정되었습니다. user.dir은 어떻습니까?
johnny-b-goode 2013

3
게시하기 전에 이미 읽었습니다. 그러나 "사용자 작업 디렉토리"는 최선의 설명이 아닙니다. 동의하시기 바랍니다.
johnny-b-goode 2013

그것은 모든 자바 버전에 대한 바람둥이 구성에서 user.dir가 가리키고 /usr/share/tomcat구성에 다음과 같은 것을 추가한다는 것을 의미 합니까? file:./config그러면 /usr/share/tomcat/config항상 가리킬 것 입니까?
Marcin Kapusta



3

System.getProperty("user.dir") 현재 프로젝트에 대한 작업 공간의 디렉토리 또는 경로를 가져옵니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.