Не удалось выполнить цель org.apache.maven.plugins: указанный файл web.xml «D:\WEB-INF\web.xml» не существует

[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins:maven-war-
plugin:2.1.1:war (default-war) в проекте CRPS: указанный файл web.xml
'D: \WEB-INF\web.xml' не существует-> [Справка 1]
[ОШИБКА]
[ОШИБКА] Чтобы увидеть полную трассировку стека ошибок, перезапустите Maven с ключом -e > .
[ОШИБКА] Перезапустите Maven с параметром -X, чтобы включить полное ведение журнала отладки. [ОШИБКА]
[ОШИБКА] Дополнительную информацию об ошибках и возможных решениях можно найти в следующих статьях: [ОШИБКА] [Справка 1]

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

ПРИМЕЧАНИЕ. Мой проект находится в папке D:\MAVEN\
: D:\MAVEN\CRPS

Когда я нажимаю «Установить» в идеях Intellij, возникает эта ошибка. Почему это происходит?


person Maheraj    schedule 25.03.2013    source источник
comment
Это работает из командной строки? Можете ли вы прикрепить образец проекта для воспроизведения?   -  person CrazyCoder    schedule 26.03.2013


Ответы (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 war по умолчанию, и поэтому вы получаете эту ошибку. в противном случае плагин получил бы файл web.xml из src/main/webapp/WEB-INF/web.xml по умолчанию, как показано в приведенном ниже примере.

  • пом.xml
  • src
    • main
      • java
      • Ресурсы
      • webapp
        • WEB-INF
          • web.xml
person Tekdev    schedule 26.03.2013
comment
web.xml точно такой же, как вы упомянули выше. и вот мой плагин в pom.xml: ‹build› ‹plugins› ‹plugin› ‹groupId›org.apache.maven.plugins‹/groupId› ‹artifactId›maven-war-plugin‹/artifactId› ‹version›2.1. 1‹/версия› ‹configuration› ‹webXml›/WEB-INF/web.xml‹/webXml› ‹/configuration› ‹/plugin› ‹/plugins› ‹/build› Где ошибка не могу понять. - person Maheraj; 26.03.2013
comment
если макет вашего проекта такой же, как я указал выше, вы все еще указываете на неправильное местоположение, поэтому либо замените свою конфигурацию на ‹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› и дайте плагину работать самостоятельно, перейдя в расположение по умолчанию. - person Tekdev; 27.03.2013