2011-11-15 4 views
0

jar 파일을 실행할 디렉토리의 하위 디렉토리에서 실행 가능한 jar에 필요한 모든 .properties 파일을 넣고 싶습니다.jar manifest 클래스 경로에서 특성 파일의 디렉토리를 지정하는 방법은 무엇입니까?

나는 jar 파일과 같은 디렉토리에 내 .properties의 파일을 보관하는 경우
Manifest-Version: 1.0 
Build-Jdk: 1.6.0_26 
Main-Class: MyMainClass 
Class-Path: . conf lib/dependency1.jar 

, 모든 것이 잘 작동 : 현재 내 MANIFEST.MF는 다음과 같이 보인다. 서브 디렉토리 conf으로 이동하면 찾을 수 없습니다. 또한 conf/log4j.properties과 같이 .properties 파일의 경로를 직접 지정하려고 시도했습니다.

내가 할 수있는 일이 가능합니까?

업데이트 : myproperties.propertiesconf 하위 디렉토리에있는 경우

InputStream stream = getClass().getClassLoader().getResourceAsStream("myproperties.properties"); 

는,이 사항이 널의 InputStream을 반환 여기에 실패 내 실행 항아리에 코드의 예입니다. log4j.propertiesconf 하위 디렉토리에있을 때, 그것의 구성을 찾지 못하는 경우에 대해 그 경고 메시지를 출력합니다

log4j:WARN No appenders could be found for logger (MyMainClass). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
+0

? 그 executabele JAR? 아니면'dependency1.jar'? 정확히 얼마나? – BalusC

+0

실패에 대한 자세한 내용을 질문에 업데이트했습니다. –

+0

다른 실행 위치에 있어야합니까? 아니면 개발 계층의 다른 소스 폴더에서 구성하는 것이 더 낫습니까? – Gray

답변

0

org.apache.log4j.PropertyConfigurator.configure(String configFilename)는 로그 파일이있는 위치를 지정하는 데 사용할 수 있습니다 사용해보십시오. 여기에의 예

있습니다 : 특성 파일을로드하는 것 http://logging.apache.org/log4j/1.2/manual.html

관련 문제