繁体   English   中英

java system.getenv(HOME)返回tomcat6目录

[英]java system.getenv(HOME) returns tomcat6 directory

您好,主题是

System.getenv("HOME")

在我的动作课(struts2)中,并将其部署为战争

/var/lib/tomcat6/webapps/

当我上课时,getenv HOME返回

/var/lib/tomcat6

谁能告诉我怎么回事? 我什至在一个独立的Java类上进行了测试,返回了home的正确值。 在shell上尝试过它还会echo $HOME并给出正确的输出。

在Ubuntu 10.04上运行。

我认为问题出在哪里..我的项目部署了“ tomcat6 tomcat6”的权限,因此当我进入home时,它给了我tomcat主页。 我对吗?

没有。

问题是您的tomcat6服务配置为以“ tomcat”用户身份运行。 (通常在init.d / tomcatd脚本中有一个变量可以执行此操作...)这是出于安全原因的原因。 除非您进行了适当的风险评估,否则请不要更改它。

您真正需要做的是更改Web应用程序,以免$ HOME成为>> y <<主目录。 而是创建一个Webapp特定的属性文件,该文件提供此外部(到tomcat)目录的位置。 或者更好(也是最佳实践!)更改您的应用程序,以便它根本不需要引用外部目录。

暂无
暂无

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

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