Eclipse not publishing web.xml filled by Maven

279 views Asked by At

Continuing my prior question (Maven: how to fill a variable in web.xml file), I realized that the values written in web.xml are not passed to the deployed web.xml. Let me show what is happening: I am running a web application in Tomcat through WTP Eclipse. In the web.xml, I have this context-param:

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

The ambiente.producao is filled according to Maven profile chosen:

<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>

Also, I have a ServletContextListener implementation which will print the value of the producao param:

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

Thanks to Fred Bricon tip, I was able make the Maven fill correctly the ambiente.producao variable in the web.xml copied to the target directory.

However, when I start the Tomcat and print the the producao init param, It is showed ${ambiente.producao}. Actually, when I open the web.xml present in the directory [WORKSPACE_DIR]/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/sinpo-web/WEB-INF, the producao is not filled as it should be. It was like Eclipse (or WTP or Maven) had chosen the original file instead of filled file.

Therefore, I ask if there is some missing configuration needed to make the Maven (or Eclipse) publish using the files in target directory instead the original file.

Thanks,

Rafael Afonso

0

There are 0 answers