2012-06-29 32 views
0

我選擇Eclipse + tomcat的行家+。Eclipse的Tomcat的 - 上下文環境變量

當我將項目部署到Tomcat,以下條目被添加到Tomcat配置的server.xml中:

<Context docBase="C:\ws_eclipse\ws\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\MyApp" path="/myApp" reloadable="true" source="org.eclipse.jst.jee.server:MyApp"/> 

什麼其實我想要的是,這樣的背景下看起來像添加環境變量此:

<Context docBase="C:\ws_eclipse\ws\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\MyApp" path="/myApp" reloadable="true" source="org.eclipse.jst.jee.server:MyApp"> 
     <Environment name="config.file" type="java.lang.String" value="C:/test/config.xml" /> 
</Context> 

我嘗試添加它作爲蝕運行配置的環境變量,但是當我部署在Tomcat應用程序,上下文不包括環境變量。

回答

3

你可以在META添加的context.xml文件-INF您的web應用程序的目錄。這個文件的內容可能看起來像:

<Context> 
    <Parameter name="config.file" value="C:/test/config.xml"/> 
</Context> 

這與在web.xml定義<context-param/>同樣的效果。使用ServletContext.getInitParameter("config.file")將其值作爲字符串檢索。

您可以使用Environment爲好,但它可能是矯枉過正(你只需要一個字符串,無論如何,我認爲)。

請參閱http://tomcat.apache.org/tomcat-6.0-doc/config/context.html

+0

哦,謝謝。按照您的指定,我在context.xml中添加了Env條目,並且它像魅力一樣工作。 –

+0

不錯。使用這樣一個文件的最大好處是你不需要改變server.xml文件,因爲只與給定的webapp相關的數據。如果可能的話,應該使用context.xml(這是tomcat開發者提倡的做法)。無論如何,很高興聽到的東西適合你。 – MartinK

1

在應用程序啓動配置設置這是最好的方式,您可能需要驗證你在做什麼在這裏 - HTH

Creating a Java application launch configuration

+0

這正是我所做的。我試着將它作爲一個JVM參數以及一個環境變量來添加。但是,它不會被添加到Tomcat的Context中。 –