![](/img/trans.png)
[英]How to set JAVA_HOME or CATALINA_HOME if I have more than 1 version used for Projects?
[英]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.