[英]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.