저는 프로젝트에서 작업 중이며 한 가지 요구 사항은 main 메서드의 두 번째 인수가 " /
"(리눅스의 경우)로 시작하는 경우 절대 경로 (문제가 아님)로 간주해야하지만 "로 시작하지 않는 경우"입니다. /
”, 클래스 의 현재 작업 경로 를 가져 와서 주어진 인수에 추가해야합니다.
System.getProperty("java.class.path")
, new File(".")
및 getCanonicalPath()
등 여러 가지 방법으로 클래스 이름을 가져올 수 있습니다 .
문제는 패키지가 저장된 디렉토리 만 제공한다는 것입니다. 즉 .../project/this/is/package/name
, " "에 저장된 클래스가있는 경우 " "만 제공 /project/
하고 실제 존재하는 패키지 이름은 무시합니다 .class files
.
어떤 제안?
편집 : 여기에 운동 설명에서 가져온 설명이 있습니다.
sourcedir은 절대적 ( "/"로 시작)이거나 프로그램을 실행하는 위치에 상대적 일 수 있습니다.
sourcedir은 main 메소드에 대해 주어진 인수입니다. 그 길을 어떻게 찾을 수 있습니까?