2017-12-18 9 views
0

그래서 우리는 dropwizard로 포팅하기로 결정한 일반적인 일괄 처리 응용 프로그램을 가지고 있습니다. HealthCheck, 메트릭 등 우리가 상자에서 제공하는 많은 이점을 dropwizard에서 사용하고자합니다.dropwizard에서 사용자 정의 구성 파일 읽기 오류

나중에 REST 관리 끝점을 추가 할 수 있지만 지금은 DropWizard Managed Service를 사용하여 응용 프로그램을 시작하고 있습니다. 별도의 스레드에서. 샘플 구성 yml 파일을 만들었지 만 대부분 스켈레톤입니다.

이 이식은 거의 대부분 리프트와 교대이며 코드에서 거대한 리펙터를 피하기를 원합니다. 응용 프로그램은 현재 두 개의 다른 등록 정보 파일로 묶여 있으며이를 그대로 유지하려고합니다.

"application.properties"및 "system.properties"속성 파일을 생성하는 사용자 정의 배포자를 사용하여 응용 프로그램을 배포 할 방법을 찾았습니다 어떤 이유로 응용 프로그램에서 해당 파일을 읽을 수 없어 NPE . 이것은 Java 응용 프로그램입니다. 모든 jar 파일은 lib 디렉토리에 있고 config 파일은 config 디렉토리에 있습니다. 그냥 그 파일을 해결하지 않는 것 같습니다. 나는 dropwizard 문서 검색을 시도했지만 유용한 것을 찾지 못했습니다. 코드는 단순히 dropwizard 버전의 특정 디렉토리

private static final String APP_PROPERTIES_FILE = "/application.properties"; 
File file = new File(DataSourceFactory.class.getResource(filename) 
      .getFile()); 

에서 파일을 기대 : 1.2.2 그리고 이것은 내가 응용 프로그램 실행 해요 방법은 다음과 같습니다 모든 의견 정말 감사합니다

java -cp "deployed/App/lib/*:deployed/App/config/*" com.commercehub.app.MainClass server config.yml 

을 !

+0

해당 속성 파일과 DW 버전을 읽는 코드를 공유하십시오. 감사. –

+0

@ AndréBarbosa 질문에 세부 정보를 추가했습니다. – stillLearning

+0

감사합니다. @stillLearning. APP_PROPERTIES_FILE에 시작/"/"및 "/ config /"없이 시도 했습니까? ".getFile()"또는 새 파일 (...)에서 NPE를 구합니까? –

답변

0

문제는 내 클래스 경로에서 발생했습니다. config 폴더에/*가 필요하지 않았습니다.

java -cp "deployed/App/lib/*:deployed/App/config" com.commercehub.app.MainClass server config.yml