我使用eclipse + tomcat + maven。
当我将项目部署到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>
我尝试在eclipse运行配置中将其添加为环境变量,但是当我在tomcat上部署应用程序时,上下文不包含环境变量。
答案 0 :(得分:3)
您可以在webapp的 META-INF 目录中添加 context.xml 文件。此文件的内容可能如下所示:
<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
答案 1 :(得分:1)
在应用程序启动配置中设置它是最好的方法,您可能需要验证在此处执行的操作 - Creating a Java application launch configuration
HTH