2

当我使用 eclipse wtp 部署 webapp 时,pom.xml 中指定的自定义“webxml”文件不会作为 'web.xml' 复制到 WEB-INF 文件夹。但是,该文件在 WEB-INF 文件夹中的战争中被正确复制。

这是 pom.xml 的片段

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <configuration>
        <webXml>${webXmlPath}</webXml>
        <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
    </configuration>
</plugin>

${webXmlPath} 取决于配置文件并具有默认值:

<properties>
        <webXmlPath>${basedir}/src/main/webapp/WEB-INF/web-embed.xml</webXmlPath>
</properties>

谢谢 :)

4

1 回答 1

1

如果您使用m2e -wtp,您的 /.settings/org.eclipse.wst.common.component 应该包含如下条目:

<wb-resource deploy-path="/WEB-INF/web.xml" source-path="/src/main/webapp/WEB-INF/web-embed.xml"/>

这应该够了吧。

现在对于支持它的服务器适配器(目前仅 JBoss AS),使用<packagingExcludes>WEB-INF/web.xml</packagingExcludes>实际上会阻止任何web.xml 被部署。其他服务器适配器(如 Tomcat)将忽略该指令。

于 2012-10-13T00:36:28.237 回答