maven 프로젝트가 있습니다. mvn을 새로 설치하면 프로젝트가 빌드되고 내 로컬 저장소 (예 : c : \ repository \ com \ stackoverflow \ A)에서 jar를 사용할 수 있습니다. \에 a.jar절대 경로에서 xml 파일을로드 할 수 없습니다.
에 a.jar 내가 하나 개의 XML 파일을 사용하는 클래스의 방법 중 하나를 호출하고 다른 Maven 프로젝트에서 이러한 클래스
에 의해 사용되는 클래스 및 XML 파일의 부부가 포함되어 있습니다.
코드는 다음과 같습니다
public File xmlFilder(String xmlAbsolutePath) {
File f = new File(xmlAbsolutePath);
return f;
}
두 번째 프로젝트는 내 D 드라이브에 있습니다. 절대 경로를 얻는 과정에서 나는 정확한 절대 경로 인 인 \ com \ stackoverflow \ A \ res \ p.xml을 얻고 있습니다.
public File xmlFilder(String xmlAbsolutePath) {
File f = new File(xmlAbsolutePath);
System.out.println("AbsolutePath----"+f.getAbsolutePath()); ---> D:\com\stackoverflow\A\res\p.xml
System.out.println("getPath------------"+f.getPath()); ---> \com\stackoverflow\A\res\p.xml
System.out.println("exists--------------"+f.exists()); ----> false
return f;
}
사람이 내가 잘못 가고 어디 알려 주시기 바랍니다 수 : 나는 3 행에 다음 코드를 추가하는 경우 다음과 같이
는하지만, 내가 얻고있다. C 드라이브에있는 저장소에서 xml을 선택하지 않는 이유는 무엇입니까?
xml 파일의 위치가 명확하지 않습니다. jar 또는 파일 시스템에서로드하려고합니까? –
xml 파일이 A.jar의 resources 폴더에 있습니다. 항아리는 C 드라이브에있는 저장소에 있습니다. 종속성을 올바르게 추가 했으므로 프로젝트 B에서 A.jar에있는 메서드에 올바르게 액세스 할 수 있습니다. – user2604052