Я создал пустой веб-проект с использованием Eclipse Mars и Maven 3.3.3. На данный момент этот проект содержит только pom.xml:Eclipse игнорирует пользовательское свойство failOnMissingWebXml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.project</groupId>
<artifactId>web-project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<build>
<plugins>
<!-- <plugin> -->
<!-- <groupId>org.apache.maven.plugins</groupId> -->
<!-- <artifactId>maven-war-plugin</artifactId> -->
<!-- <version>2.6</version> -->
<!-- <configuration> -->
<!-- <failOnMissingWebXml>false</failOnMissingWebXml> -->
<!-- </configuration> -->
<!-- </plugin> -->
</plugins>
</build>
</project>
Теперь Eclipse, сетует о пропавшем web.xml
файле. Из документации модуля maven-war можно подключить set the user propertyfailOnMissingWebXml
, поэтому нет необходимости дополнительно настраивать этот плагин. Это работает с использованием Maven из командной строки, проект успешно завершен. Но Eclipse по-прежнему жалуется на недостающий web.xml.
Кто-нибудь знает, как избавиться от этой ошибки конфигурации Maven в Eclipse, просто используя это свойство пользователя?
Обновление: У меня есть другая среда разработки, использующая Eclipse Luna SR1 и Maven 3.2.5, где она не жалуется на недостающий web.xml во вновь созданном веб-проекте. Поэтому я задаюсь вопросом, каким образом эта ошибка каким-то образом подавляется плагином m2e.
Это не ошибка конфигурации Maven и проблема Eclipse, в которой вы просто ошибаетесь в своем файле pom. Вам нужно активировать часть конфигурации, которую вы закомментировали. – khmarbaise
Но это именно то, чего я хочу избежать, используя свойство 'failOnMissingWebXml'. Если я установил его в true или удалю, команда Maven build завершится неудачно. Если для этого свойства установлено значение false, сборка будет успешной. Так что все работает, просто Eclipse этого не понимает. –
Если поведение неверно, создайте проблему в проекте m2e. – khmarbaise