执行目标 org.apache.maven.plugins 失败:指定的 web.xml 文件 'D:\WEB-INF\web.xml' 不存在
Posted
技术标签:
【中文标题】执行目标 org.apache.maven.plugins 失败:指定的 web.xml 文件 \'D:\\WEB-INF\\web.xml\' 不存在【英文标题】:Failed to execute goal org.apache.maven.plugins: The specified web.xml file 'D:\WEB-INF\web.xml' does not exist执行目标 org.apache.maven.plugins 失败:指定的 web.xml 文件 'D:\WEB-INF\web.xml' 不存在 【发布时间】:2013-03-15 10:40:28 【问题描述】:[错误] 无法执行目标 org.apache.maven.plugins:maven-war- plugin:2.1.1:war (default-war) on project CRPS: 指定的 web.xml 文件 'D:\WEB-INF\web.xml' 不存在-> [帮助 1] [错误] [错误] 要查看错误的完整堆栈跟踪,请使用 -e > 开关重新运行 Maven。 [错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。 [错误] [错误] 更多 有关错误和可能的解决方案的信息,请阅读 以下文章:[错误] [帮助 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
注意:我的项目在D:\MAVEN\
下
项目文件夹为:D:\MAVEN\CRPS
当我在 intellij Ideas 中单击安装时,会生成此错误。 为什么会这样?
【问题讨论】:
它可以从命令行工作吗?你能附上一个示例项目来重现吗? 【参考方案1】:正如您所见,插件正在 D:\WEB-INF 路径中查找进行战争打包所需的 web.xml,这显然是错误的查找位置。您需要通过在终端上运行时传递 -Dmaven.war.webxml=..../WEB-INF/web.xml 参数来明确指定,或者您可以通过添加将配置放入您的 pom 中
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<configuration>
<webXml>..../WEB-INF/web.xml</webXml>
</configuration>
</execution>
</executions>
</plugin>
请注意:您不需要声明绝对路径,项目 pom 的相对路径就足够了。 用正确的路径替换点。
我猜您没有使用默认的 Maven 战争项目布局,这就是您收到此错误的原因。如果你是,插件将默认从 src/main/webapp/WEB-INF/web.xml 获取 web.xml,如下例所示。
pom.xml 源 主要 java 资源 网络应用 WEB-INF web.xml【讨论】:
web.xml 与您上面提到的完全相同。这是我在 pom.xml 中的插件:以上是关于执行目标 org.apache.maven.plugins 失败:指定的 web.xml 文件 'D:\WEB-INF\web.xml' 不存在的主要内容,如果未能解决你的问题,请参考以下文章
-source 1.5 中不支持泛型(请使用-source5或更高版本)