1

我有一个 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/. 但是,当我使用 运行我的 webapp 时J2EE Preview,读取的值是未经过滤的。

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

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

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

4

1 回答 1

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

于 2015-10-02T18:03:52.983 回答