2014-07-09 1 views
0

먼저 PATH 변수 CATALINA_HOME=/opt/tomcat을 설정 한 다음 터미널에서 확인합니다. cd $CATALINA_HOME 작동합니다.
둘째, file.properties을 작성하고 catalina.home=%CATALINA_HOME%을 작성했습니다.
마지막으로, 나는 CATALINA_HOME의 PATH 변수를 설정했지만 Java에서 새 파일을 만들려고하면 잘못되었습니다.


@Autowired Enviroment enviroment; 
String path = environment.getProperty("catalina.home") + File.separator + "webapps" + File.separator + "templates" + File.separator; 
File dir = new File(path);
코드
다음 실행하려고하지만 당신은 자바 환경 변수 CATALINA_HOME의 값을 얻고 싶다면 즉, System.getenv("CATALINA_HOME")를 사용

 
Caused by: java.io.FileNotFoundException: %CATALINA_HOME%/webapps/templates does not exist. 
    at freemarker.cache.FileTemplateLoader$1.run(FileTemplateLoader.java:124) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at freemarker.cache.FileTemplateLoader.(FileTemplateLoader.java:121) 
    at freemarker.cache.FileTemplateLoader.(FileTemplateLoader.java:107) 
    at freemarker.template.Configuration.setDirectoryForTemplateLoading(Configuration.java:439) 
+0

무엇이'file.properties'입니까? 왜이 파일의 모든 속성이 시스템 속성으로 설정 될 것이라고 생각합니까? –

+0

@ JigarJoshi, 나는이 유형의 파일로 작업하지 못했습니다. 오류 메시지에서'% CATALINA_HOME % /'이 (가) 그 줄무늬를 인식하지 못했다는 것을 의미합니까? – Haygo

답변

0

작동하지 않습니다.

.properties 파일이 환경 변수 값을 사용한다는 아이디어가 무엇이 있는지 잘 모르겠습니다. 그것은 이것을 전혀하지 않습니다. 속성 파일에 catalina.home=%CATALINA_HOME%을 설정 한 경우 속성 catalina.home에서 반환되는 값은 항상 %CATALINA_HOME% 문자열입니다. 또한 File 클래스는 환경 변수 값에 전혀주의를 기울이지 않습니다. 귀하의 경우에는 %CATALINA_HOME%/webapps/templates이 존재하지 않습니다. 왜냐하면 Tomcat의 현재 작업 디렉토리에 %CATALINA_HOME%이라는 하위 디렉토리가 없기 때문입니다.