Eclipse没有发布由Maven填充的web.xml

时间:2014-12-22 14:30:49

标签: eclipse maven tomcat eclipse-wtp m2e-wtp

继续我先前的问题(Maven: how to fill a variable in web.xml file),我意识到用web.xml写的值不会传递给已部署的web.xml。 让我展示一下发生了什么:我通过WTP Eclipse在Tomcat中运行Web应用程序。在web.xml中,我有context-param

<context-param>
    <param-name>producao</param-name>
    <param-value>${ambiente.producao}</param-value>
</context-param>

ambiente.producao根据选择的Maven个人资料填写:

<profiles>
    <profile>
        <id>prod</id>
        <properties>
            <ambiente.producao>true</ambiente.producao>
        </properties>
    </profile>
    <profile>
        <id>desenv</id>
        <properties>
            <ambiente.producao>false</ambiente.producao>
        </properties>
    </profile>
</profiles>

另外,我有一个ServletContextListener实现,它将打印producao参数的值:

public void contextInitialized(ServletContextEvent event) {
    logger.warn(event.getServletContext().getInitParameter("producao"));
}

感谢Fred Bricon提示,我能够正确填充Maven,将ambiente.producao中的web.xml变量复制到target目录中。

然而,当我启动Tomcat并打印producao init param时,显示${ambiente.producao}。实际上,当我打开目录web.xml中的[WORKSPACE_DIR]/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/sinpo-web/WEB-INF时,producao未按原样填充。就像Eclipse(或WTP或Maven)选择了原始文件而不是填充文件。

因此,我问是否需要使用target目录中的文件而不是原始文件来发布Maven(或Eclipse)所需的一些配置。

谢谢,

Rafael Afonso

0 个答案:

没有答案