Eclipse J2EE Preview从.metadata dir而不是m2e-wtp / web-resources

时间:2015-10-02 16:06:15

标签: java eclipse maven m2e m2e-wtp

我有一个Maven WAR项目,使用m2em2e-wtp在Eclipse下管理。在我的pom.xml中,我配置maven-war-plugin来过滤src/main/resources中的一些资源,并将它们放在类路径中。

我的文件已在project/target/finalname/WEB-INF/classes/project/target/m2e-wtp/web-resources/WEB-INF/classes/中正确过滤。但是,当我使用J2EE Preview运行我的webapp时,会对未经过滤的值进行读取。

经过调查,我发现在J2EE Preview服务器上启动的我的webapp中读取的文件位于WORKSPACE/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/project/WEB-INF/classes/,并且未经过滤。

所以似乎m2e-wtp在这里正确地完成了他的工作,但是服务器适配器以某种方式弄乱了过滤。它似乎直接从src/main/resources/获取未经过滤的资源,将它们放在.metadata/目录中,而不是从project/target/获取它们。

如何确保服务器适配器获取已过滤的资源?

1 个答案:

答案 0 :(得分:0)

事实证明maven-war-plugin部分未正确看到J2EE preview部分中定义的过滤,我需要添加resource过滤部分:

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <includes>
            <include>myfile</include>
        </includes>
    </resource>  
</resources>

在这种情况下,文件在WORKSPACE/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/project/WEB-INF/classes/使用的J2EE Preview目录中正确过滤了