【问题标题】:Eclipse Tomcat - Context environment variableEclipse Tomcat - 上下文环境变量
【发布时间】:2012-06-30 22:07:04
【问题描述】:

我使用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上部署应用程序时,上下文不包含环境变量。

【问题讨论】:

    标签: java eclipse tomcat maven


    【解决方案1】:

    您可以在 webapp 的 META-INF 目录中添加一个 context.xml 文件。该文件的内容可能如下所示:

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

    这与在 web.xml 中定义 &lt;context-param/&gt; 具有相同的效果。使用ServletContext.getInitParameter("config.file") 将其值作为字符串检索。

    你也可以使用Environment,但这可能有点过头了(我认为你只需要一个字符串)。

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

    【讨论】:

    • 哦,谢谢。我按照您的指定在 context.xml 中添加了 Env 条目,它就像一个魅力。
    • 不错。使用这样的文件的最大好处是您不需要更改 server.xml 文件,因为数据只与给定的 webapp 相关。如果可能,应该使用 context.xml(这是 tomcat 开发人员提倡的做法)。无论如何,很高兴听到对你有用的东西。
    【解决方案2】:

    在应用程序启动配置中设置它是最好的方法,您可能想验证您在此处所做的操作 - Creating a Java application launch configuration

    HTH

    【讨论】:

    • 这正是我所做的。我尝试将其添加为 JVM 参数以及环境变量。但是,它不会被添加到 Tomcat 的上下文中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 2014-12-08
    • 1970-01-01
    • 2016-02-08
    • 2011-12-15
    • 1970-01-01
    • 2022-09-29
    相关资源
    最近更新 更多