다음과 같은 문제가 있습니다. jar 파일을로드하려고하지만 동일한 상대 경로에 같은 파일이 있습니다. "res/rtrconfig"파일이 jar 파일입니다. 어떻게하면 외부 파일을 무시하고 jar 파일 경로를 가져올 수 있습니까? 내 코드의 다른 부분이 필요하기 때문에 외부 파일을 삭제할 수 없습니다. 내가 지금까지있어 무엇 : 파일이 단지 또는 경로에 설립되어있는 경우 코드 검사Java에서 파일 외부에 jar 파일을로드하는 방법은 무엇입니까?
ClassLoader loader = Thread.currentThread().getContextClassLoader();
URL url = loader.getResource(path);
//check if file is in jar or not
if (url == null) {
System.err.println("FATAL: Properties file not found.Stopping the server.");
System.exit(-1);
}
if (!url.getProtocol().equals("jar")){
System.err.println("Properties found outside jars.Please delete " + url.getPath() + " and re-start the server");
System.exit(-1);
}
이 부분. 경로의 파일 앞에 jar 파일을보기 위해 URL을 구성하는 방법을 모르겠습니다. 시간 내 주셔서 감사합니다.
위의 코드는 무엇을 반환합니까? 자원이 항아리 안에 있지 않습니까? 그렇지 않다면, 지나가는 경로의 값은 무엇이며 항아리 안의 자원의 전체 이름은 무엇입니까? –
"jars 외부에서 발견 된 속성입니다. 삭제하십시오"+ 여기서 절대 경로는 + "이고 서버를 다시 시작합니다". res \ rtrconfig는 자원의 이름입니다 – nucandrei