繁体   English   中英

我设置了CATALINA_HOME的PATH变量,但是当我尝试在Java中创建新文件时出错

[英]I set PATH variable of CATALINA_HOME, but when I try to create new FIle in java it goes wrong

首先,我设置PATH变量CATALINA_HOME=/opt/tomcat然后在终端cd $CATALINA_HOME对其进行检查。
其次,我创建了file.properties并编写了catalina.home=%CATALINA_HOME%
最后,我尝试运行以下代码


@Autowired Enviroment enviroment;
String path = environment.getProperty("catalina.home") + File.separator + "webapps" + File.separator + "templates" + File.separator;
File dir = new File(path);
但这不起作用

 \n 造成原因:java.io.FileNotFoundException:%CATALINA_HOME%/ webapps / templates不存在。\n     在freemarker.cache.FileTemplateLoader $ 1.run(FileTemplateLoader.java:124)\n     在java.security.AccessController.doPrivileged(本机方法)\n     在freemarker.cache.FileTemplateLoader。(FileTemplateLoader.java:121)\n     在freemarker.cache.FileTemplateLoader。(FileTemplateLoader.java:107)\n     在freemarker.template.Configuration.setDirectoryForTemplateLoading(Configuration.java:439)\n

如果要获取Java中环境变量CATALINA_HOME的值,请使用System.getenv("CATALINA_HOME")

我不确定是什么让您想到.properties文件将利用环境变量值的想法。 它根本不这样做。 如果在属性文件中设置了catalina.home=%CATALINA_HOME% ,那么从属性catalina.home返回的值将始终为字符串%CATALINA_HOME% 同样, File类将完全不关注环境变量值。 在您的情况下, %CATALINA_HOME%/webapps/templates不存在,因为(几乎可以肯定)Tomcat当前的工作目录中没有名为%CATALINA_HOME%子目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM