我正在尝试将web.xml包含在战争中。
以下是我的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>
但是,当我在这里提取战争是我得到的
/tomcat/work/Catalina/localhost/XProject/WEB-INF
/tomcat/work/Catalina/localhost/XProject/WEB-INF/classes
/tomcat/work/Catalina/localhost/XProject/WEB-INF/lib
我做错了什么?
答案 0 :(得分:1)
我使用过多次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>
答案 1 :(得分:1)
添加warsourcedirectory标记。
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>