Eclipse J2EE预览版从.metadata目录读取未过滤的资源,而不是从m2e-wtp/web-resource



我有一个Maven WAR项目,在Eclipse下使用m2em2e-wtp进行管理。在我的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运行我的web应用程序时,读取的值是未经过滤的。

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

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

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

结果是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使用

最新更新