Конфигурация Maven Java EE

В моем проекте maven у меня есть этот эффективный POM:

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>spring</groupId>
  <artifactId>example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>example</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.0.3.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.ws</groupId>
      <artifactId>spring-ws-core</artifactId>
      <version>2.1.4.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-web</artifactId>
      <version>3.2.3.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-config</artifactId>
      <version>3.2.3.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>4.3.5.Final</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>5.1.0.Final</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>4.0.3.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.0.3.RELEASE</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
  <repositories>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>Central Repository</name>
      <url>http://repo.maven.apache.org/maven2</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>Central Repository</name>
      <url>http://repo.maven.apache.org/maven2</url>
    </pluginRepository>
  </pluginRepositories>
  <build>
    <sourceDirectory>C:\Users\Kleber\Downloads\Projetos\example\src\main\java</sourceDirectory>
    <scriptSourceDirectory>C:\Users\Kleber\Downloads\Projetos\example\src\main\scripts</scriptSourceDirectory>
    <testSourceDirectory>C:\Users\Kleber\Downloads\Projetos\example\src\test\java</testSourceDirectory>
    <outputDirectory>C:\Users\Kleber\Downloads\Projetos\example\target\classes</outputDirectory>
    <testOutputDirectory>C:\Users\Kleber\Downloads\Projetos\example\target\test-classes</testOutputDirectory>
    <resources>
      <resource>
        <directory>C:\Users\Kleber\Downloads\Projetos\example\src\main\resources</directory>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>C:\Users\Kleber\Downloads\Projetos\example\src\test\resources</directory>
      </testResource>
    </testResources>
    <directory>C:\Users\Kleber\Downloads\Projetos\example\target</directory>
    <finalName>example-0.0.1-SNAPSHOT</finalName>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.3</version>
        </plugin>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.2-beta-5</version>
        </plugin>
        <plugin>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <url>http://localhost:8080/manager/text</url>
          <server>TomcatServer</server>
          <path>/webappExample</path>
          <username>user001</username>
          <password>123</password>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>2.4.1</version>
        <executions>
          <execution>
            <id>default-clean</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-install-plugin</artifactId>
        <version>2.3.1</version>
        <executions>
          <execution>
            <id>default-install</id>
            <phase>install</phase>
            <goals>
              <goal>install</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.5</version>
        <executions>
          <execution>
            <id>default-resources</id>
            <phase>process-resources</phase>
            <goals>
              <goal>resources</goal>
            </goals>
          </execution>
          <execution>
            <id>default-testResources</id>
            <phase>process-test-resources</phase>
            <goals>
              <goal>testResources</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.10</version>
        <executions>
          <execution>
            <id>default-test</id>
            <phase>test</phase>
            <goals>
              <goal>test</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <executions>
          <execution>
            <id>default-testCompile</id>
            <phase>test-compile</phase>
            <goals>
              <goal>testCompile</goal>
            </goals>
          </execution>
          <execution>
            <id>default-compile</id>
            <phase>compile</phase>
            <goals>
              <goal>compile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.1.1</version>
        <executions>
          <execution>
            <id>default-war</id>
            <phase>package</phase>
            <goals>
              <goal>war</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.7</version>
        <executions>
          <execution>
            <id>default-deploy</id>
            <phase>deploy</phase>
            <goals>
              <goal>deploy</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.0</version>
        <executions>
          <execution>
            <id>default-site</id>
            <phase>site</phase>
            <goals>
              <goal>site</goal>
            </goals>
            <configuration>
              <outputDirectory>C:\Users\Kleber\Downloads\Projetos\example\target\site</outputDirectory>
              <reportPlugins>
                <reportPlugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-project-info-reports-plugin</artifactId>
                </reportPlugin>
              </reportPlugins>
            </configuration>
          </execution>
          <execution>
            <id>default-deploy</id>
            <phase>site-deploy</phase>
            <goals>
              <goal>deploy</goal>
            </goals>
            <configuration>
              <outputDirectory>C:\Users\Kleber\Downloads\Projetos\example\target\site</outputDirectory>
              <reportPlugins>
                <reportPlugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-project-info-reports-plugin</artifactId>
                </reportPlugin>
              </reportPlugins>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <outputDirectory>C:\Users\Kleber\Downloads\Projetos\example\target\site</outputDirectory>
          <reportPlugins>
            <reportPlugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-project-info-reports-plugin</artifactId>
            </reportPlugin>
          </reportPlugins>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <outputDirectory>C:\Users\Kleber\Downloads\Projetos\example\target\site</outputDirectory>
  </reporting>
</project>

В этот момент на вкладке "Маркеры" на моей Eclipse IDE отображается эта ошибка:

Description Resource    Path    Location    Type
Dynamic Web Module 3.0 requires Java 1.6 or newer.  example     line 1  Maven Java EE Configuration Problem
One or more constraints have not been satisfied.    example     line 1  Maven Java EE Configuration Problem

Я пытаюсь исправить эту конфигурацию в пути сборки из моего проекта (в свойствах/пути сборки Java), но когда я запускаю Maven > Update Project, значение для этого параметра возвращается к предыдущему.

Где я должен изменить этот параметр, чтобы исправить эту ошибку?

Ответ 1

  1. Перейдите к проекту Build Path и измените версию библиотеки Java на 1.7
  2. Перейдите в Настройки Eclipse → Java → Компилятор → Изменить уровень соответствия на 1.7
  3. Щелкните правой кнопкой мыши по проекту → Свойства → Фасеты проекта
  4. Снимите флажок Dynamic Web Module и нажмите Применить (также снимите флажок JavaServer Faces если он у вас есть)
  5. Измените версию Java фасета на 1.7 и нажмите " Применить".
  6. Добавьте Dyanmic Web Module v3.0, примените.

Конфигурация граней Eclipse содержит ошибки. Удостоверьтесь, что вы продолжаете нажимать Apply между проверкой и снятием флажка граней.

Ссылки:

Не удается изменить версию фасета проекта Dynamic Web Module на 3.0? Изменить версию аспекта проекта Dynamic Web Module на 2.5

Ответ 2

Решение GGrec не работает для меня. Мне удалось устранить эту проблему, добавив в pom.xml следующее:

<build>
     <finalName>finalName</finalName>
     <plugins>

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source> <!-- yours Java version -->
                <target>1.8</target> <!-- yours Java version -->
            </configuration>
        </plugin>

    </plugins>
</build>

UPDATE: Кроме того, я понял, что каждый раз, когда вы запускаете команду mvn install на этом pom.xml, она переопределяет предыдущую конфигурацию. Правильное решение - либо удалить эту версию из pom.xml, либо установить ее в настройках eclipse или просто использовать конфигурацию из pom.xml.

Ответ 3

После выполнения описанных выше действий по устранению неполадок. Обновите проект maven.

Щелкните правой кнопкой мыши свой проект → Maven → Обновить проект

Или просто Alt + f5.

Надеюсь, это может помочь кому-то.

Ответ 4

Также как Kefas я указываю java-версию до 1.7, и она работает!

 <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
         <source>1.7</source> 
         <target>1.7</target> 
    </configuration>
</plugin>

Ответ 5

Вышеприведенные предложения полезны для меня! Щелкните правой кнопкой мыши по проекту → Свойства → Границы проекта, затем измените версию фасет Java на 1.7.

Если это не сработает, добавьте следующий код в pom.xml:

<build>
    <finalName>finalName</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.7</source> <!-- yours Java version -->
                <target>1.7</target> <!-- yours Java version -->
            </configuration>
        </plugin>
    </plugins>
</build>

Сохранить pom.xml.

Затем щелкните правой кнопкой мыши проект → Maven → Обновить проект.

Ответ 6

Это может показаться глупым, но я просто сделал Project- > Clean, а затем Maven- > Update.

Решил проблему.

Ответ 7

Я использую java 1.8. Исправлено выполнение следующих действий.

Удалить из pom:

<plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

Он будет жаловаться, что pom не обновляется. Используемое быстрое исправление для обновления, тогда вы получаете целую кучу ошибок.

RE-ADD to pom:

<plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

Обновлено maven и все ошибки очищаются.

Ответ 8

Это работает для меня:

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <warSourceDirectory>src/main/webapp</warSourceDirectory>
                    <warName>mfp</warName>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
    <finalName>myprojectname</finalName>
</build>

Ответ 9

Изменена версия до 3.1 и теги и до 1.7

 <plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
     <source>1.7</source> 
     <target>1.7</target> 
</configuration>

Ответ 10

Мне пришлось сбросить настройки maven в Window-> "Настройки" → Maven-> "Настройки пользователя" в "C:\Development\apache- Maven- 3.5.3\conf\settings.xml".

Ответ 11

Правильный ответ таков: - Простая вещь. В большинстве случаев вы не можете изменить версию Dynamic Web Module на 3.0. По умолчанию это должно быть 2.3 или 2.4 или другое. Это не сработает, щелкните правой кнопкой мыши на project-> preference → project facet → снимите флажок с динамического веб-модуля и измените версию на 3.0, затем проверьте его. и я думаю, что вы должны изменить последнюю версию (то есть: 1,7 или выше), что. После этого нажмите кнопку "Применить" и "Закрыть".

затем обновите проект maven. щелкните правой кнопкой мыши проект, выберите maven → обновить проект. все равно ошибка будет продолжаться для 80% из нас..

Реальное решение здесь 1> перейдите в папку рабочего пространства 2> затем перейдите в папку вашего проекта 3> проверьте наличие файла .settings (иногда он может быть скрыт, а затем скрыть его.. (такой редкий шанс) 4> Зайдите в это. Затем в файле настроек проверьте файл org.eclipse.wst.common.project.facet.core.xml и отредактируйте его с помощью notepad++ или чего-то в этом роде. введите здесь код 5> это код внутри

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="1.5"/>
  <installed facet="jst.web" version="2.4"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

изменить версию jst.web на 3.0, как это

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="1.5"/>
  <installed facet="jst.web" version="3.0"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

тогда наконец обновите maven.. затем перезапустите затмение или другую IDE

Ответ 12

Я добавил ниже строку кода в pom.xml, и это сработало.

<properties>
        <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>