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