우선 제목이 설명과 다를 수 있지만 그와 같은 짧은 방법으로 설명하기는 어렵습니다.웹 응용 프로그램에서 사용되는 JAR 파일의 상대 경로
속성 파일에서 읽어야하는 Java 응용 프로그램 (웹이 아닌)이 있습니다. 이 Java 응용 프로그램은 JAR 파일로 내 보내야 만 웹 응용 프로그램에서 사용되지만 특성 파일은 JAR 파일에 들어 있지 않습니다. 그 결과는 다음과 같습니다 myJavaApp.jar로 내보내집니다 Java 응용 프로그램을 코딩 할 때
/webapps/MyWebApp/WEB-INF/myJavaApp.jar
/webapps/MyWebApp/WEB-INF/config.properties
그래서, 내가 그것을 할 수없는 나는 그것이 상대 경로에서 config.properties 파일을 읽을 것 때문에. 절대 경로를 입력하면 제대로 작동합니다.
properties.load(new FileInputStream("C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/MyWebApp/WEB-INF/config.properties"));
그러나 상대 경로를 사용하려고하면 작동하지 않습니다. 나는 다른 웹 페이지 또는 여기에서 다른 해결책을 시도했다 그러나 그들 중 누구도 일하고있다.
거의 잊어 버렸습니다. 속성 파일을 읽는 클래스는 정적입니다!
누군가가이 문제에 대해 밝힐 수 있다면 많은 도움이 될 것입니다.
고맙습니다. 자바 응용 프로그램에서
작동 중입니다! 속성 파일을 웹 응용 프로그램 디렉토리의 맨 위에두기 위해'../../../ config/config.properties'를 추가했습니다. 문제는 이제 config 파일을 수정하면 Tomcat을 다시 시작해야 응용 프로그램을 사용할 수 있다는 것입니다. (이 문제를 방지 할 수있는 방법이 있습니까? 절대 경로를 사용했을 때 설정 파일을 수정할 수 있었기 때문에 '.감사합니다 – Jinka
상대 경로'../../../ config/config.properties'를 사용하고 싶지 않습니다. classpath (또는 subdir)는이 리소스가 살기에 완벽한 장소입니다. –
Tomcat을 재시작해야한다면, 아마도'antiResourceLocking'을 사용하고 있습니다. 모든 것을 다른 곳으로 복사하게할까요? –