执行时mvn install,我遇到以下错误:
装配WAR时出错:需要webxml属性(如果在更新模式下执行,则为预先存在的WEB-INF/web.xml)
我的Web应用程序结构树是这样的:
my-app
|-- pom.xml
|-- src
|-- ...
|-- WebContent
|-- ...
|-- META-INF
|-- WEB-INF
|-- classes
|-- ...
|-- lib
|-- **web.xml**
Run Code Online (Sandbox Code Playgroud)
我的POM文件看起来像这样:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>masters.traffic</groupId>
<artifactId>traffic_web</artifactId>
<packaging>war</packaging>
<name>traffic_web</name>
<version>0.1.0</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
...
</project>
Run Code Online (Sandbox Code Playgroud)
如何正确解决这个问题?
问候
Pas*_*ent 19
我强烈建议使用Maven的标准布局:
src/main/java(并删除sourceDirectory元素)src/main/webapp classes和lib下的目录WEB-INF当然,你可以自定义布局,但这是IMO更多的麻烦和无用的努力而不是好处.只需按照惯例.
Lau*_*nen 13
我的猜测是maven-war-plugin寻找src/main/webapp/WEB-INF/web.xml,但找不到它,并希望你明确指定(非maven标准)位置.如果您不能重命名WebContent到webapp下移动它src/main/(推荐),你可以尝试添加这样的事情你<build>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>${basedir}/src/WebContent/WEB-INF/web.xml</webXml>
<warSourceDirectory>${basedir}/src/WebContent</warSourceDirectory>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)