我爲我的glassfishv3安裝創建了一個沒有交互式shell的系統用戶,因此當通過asadmin啓動glassfish時,沒有在此用戶上設置環境變量。如何在Ubuntu中爲系統用戶設置環境變量?
我試圖在環境中複製在我的初始化腳本使用以下命令:
jhv=$(grep JAVA_HOME /etc/environment)
$jhv
export JAVA_HOME
sudo -u glassfish -E $glassfishpath/asadmin start-domain domain1
裏面的asadmin的我回聲$ JAVA_HOME其打印正確JAVA_HOME。
一旦glassfish啓動,我使用打印環境鍵值對的單一方法啓動Web服務。 JAVA_HOME不在其中。這會導致由需要JAVA_HOME的glassfish執行的腳本出現問題。
那麼如何在系統用戶/ glassfish環境中設置JAVA_HOME,以便在java容器啓動後它會一直存在?
我對GF不太瞭解。 「啓動Web服務」的含義是什麼?另外,你如何打印關鍵值對? –
@Ryan Stewart - glassfish是一個java web容器,可以承載java web服務。當客戶端調用容器時已知的應用程序(Web服務)將被創建或初始化。至於你的其他問題:Java有能力通過使用_System.getenv(); _返回一個環境條目映射來獲取環境變量。通過迭代條目,您可以將鍵值對添加到String中,然後從服務中返回String作爲響應。 – Setix
對不起,我應該注意到我是Java開發人員,所以我知道這個領域。我只是沒有使用GF。我主要與Tomcat合作。除非GF與我用過的其他容器有很大不同,但它實際上並不會爲Web服務產生單獨的OS進程,對吧?你只是部署一個戰爭? –