簡體   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