无法执行目标org.apache.maven.plugins:指定的web.xml文件'D:\ WEB-INF\web.xml'不存在

Mah*_*raj 2 web.xml intellij-idea maven-3 maven

[错误]无法
在项目CRPS上执行目标org.apache.maven.plugins:maven- war - plugin:2.1.1:war(default-war):指定的web.xml文件
'D:\ WEB-INF\web .xml'不存在 - > [Help 1]
[ERROR]
[ERROR]要查看错误的完整堆栈跟踪,请使用-e>开关重新运行Maven.
[ERROR]使用-X开关重新运行Maven以启用完整的调试日志记录.[错误]
[错误]有关错误和可能的解决方案的更多信息,请阅读以下文章:[错误] [帮助1]

http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

注意:我的项目在D:\MAVEN\
项目文件夹下是:D:\MAVEN\CRPS

当我点击intellij ideas中的install时会生成此错误.为什么会这样?

Tek*_*dev 7

正如你所看到的那样,插件正在查看D:\ WEB-INF路径以获取进行war包装所需的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>
Run Code Online (Sandbox Code Playgroud)

请注意:您不需要声明绝对路径,项目pom的相对路径应该足够.用正确的路径替换点.

我猜你没有使用默认的maven war项目布局,这就是你得到这个错误的原因.如果你是的话,默认情况下插件将从src/main/webapp/WEB-INF/web.xml获得web.xml,如下例所示.

  • 的pom.xml
  • SRC
    • 主要
      • java的
      • 资源
      • Web应用程序
        • WEB-INF
          • web.xml中

  • 如果您的项目布局与我在上面指出的相同,那么您仍然指向错误的位置,因此要么将配置替换为<plugin> <groupId> org.apache.maven.plugins </ groupId> <artifactId> maven- war-plugin </ artifactId> <version> 2.1.1 </ version> <configuration> <webXml> src/main/webapp/WEB-INF/web.xml </ webXml> </ configuration> </ plugin>.或者完全删除<configuration>标签,并通过转到默认位置让插件自行运行. (2认同)