2017-05-13 7 views
0

이 내 받는다는 웹 프로젝트 구조, 그리고 응용 프로그램이 내가 노력하고있어 실행되면 내가 자바 8 + 넷빈즈 + 제이보스 EAP 6.웹 프로젝트 자바에서 잘못된 경로 자원을 얻기

Project 
|__/src 
    |__/main 
    |__/java 
    |__/resources 
    | |__/velocity 
    |  -template.vm 
    |__/webapp 

을 사용하고 GET 드 자원 경로/proyect/SRC/메인/자원/속도 /이 방법 :

String path = SomeClass.class.getResource("/" + templateName).getPath(); 

대신이 같은 제이보스 EAP/bin 폴더 안에 경로를 받고 있어요 :

C:/Users/MyUser/EAP-6.4.0/bin/content/MyWebApp.war/WEB-INF/classes/velocity/ 

그리고 분명히 그 경로는 존재하지 않습니다.

답변

0

Apache Velocity Engine을 사용하고있는 것 같으므로 ClasspathResourceLoader을 사용하도록 구성해야합니다.

그러면 템플릿 처리를 위해 /velocity/template.vm 경로를 사용할 수 있습니다.

+0

예, 그렇게하고 있습니다. VelocityEngine.FILE_RESOURCE_LOADER_PATH'의 속도 속성으로 설정합니다. –

+0

WAR 파일 내에 존재하며 파일 시스템에서 직접 액세스 할 수 없으므로 ** file ** 리소스가 아닌 ** classpath ** 리소스로 해당 파일을로드해야합니다. –

+0

'SomeClass.class.getResource()'명령이 classpath를 검색한다고 가정합니다. –