我正在尝试将 web.xml 包含在 war 中。
这是我的 pom.xml
的样子,我已将 maven-resources-plugin
和 maven-war-plugin
添加到 pom
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-web.xml</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/war/WEB-INF</outputDirectory>
<resources>
<resource>
<directory>src/main/webapp/WEB-INF/</directory>
<filtering>true</filtering>
<includes>
<include>web.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>${basedir}/war/WEB-INF/web.xml</webXml>
</configuration>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.3</version>
<configuration>
<filesets>
<fileset>
<directory>tomcat</directory>
</fileset>
<fileset>
<directory>war/WEB-INF/classes</directory>
</fileset>
<fileset>
<directory>war/WEB-INF/lib</directory>
</fileset>
</filesets>
</configuration>
</plugin>
但是当我提取 war 时,这就是我得到的
/tomcat/work/Catalina/localhost/XProject/WEB-INF
/tomcat/work/Catalina/localhost/XProject/WEB-INF/classes
/tomcat/work/Catalina/localhost/XProject/WEB-INF/lib
我做错了什么?
最佳答案
我已经使用过多次maven-war-plugin。这是代码片段。如果您的文件夹结构中存在 web.xml,则这将包括 web.xml,否则忽略。
我从您的代码片段中认为的问题可能是 web.xml 的相对路径问题。使用下面的 maven-war-plugin 来解决您的问题
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
关于java - 使用 Maven 插件 Web.xml 未包含在 War 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29960805/