Установка Maven: «Аннотации не поддерживаются в -source 1.3» - PullRequest
14 голосов
/ 29 июня 2011

При запуске mvn install в моем проекте я вижу, что он не работает из-за следующих ошибок:

C:\Repositories\blah\src\test\java\com\xxx\qm\testrunner\test\ATest.java:[11,5] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
    @Test

C:\Repositories\blah\src\test\java\com\xxx\qm\common\test\BTest.java:[11,5] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
    @Test

Моя зависимость Maven включает в себя jUnit 4.8, но не имеет ничего общего с 1.3.

Что может вызвать эти ошибки? Пожалуйста, сообщите

Ответы [ 5 ]

24 голосов
/ 29 июня 2011

Вам необходимо указать исходную версию вашего проекта maven с помощью maven-compiler-plugin. Добавьте следующее к вашему элементу pom build и установите соответствующий исходный и целевой уровни Java.

<build>
     <defaultGoal>install</defaultGoal>
     <plugins>
          <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
               </configuration>
          </plugin>
      </plugins>
</build>

http://maven.apache.org/plugins/maven-compiler-plugin/

4 голосов
/ 08 мая 2013

более короткая версия:

<project>
    <properties>
        <maven.compiler.source>1.5</maven.compiler.source>
        <maven.compiler.target>1.5</maven.compiler.target>
    </properties>
....
2 голосов
/ 13 марта 2013

Скорее всего, вы используете OpenJDK, где уровень источника равен 1,3, если явно не задан - в отличие от Oracle JDK, где уровень источника равен 1,5.

Поскольку большинство современных проектов Java ориентированы на более новый код, чем Java 5, выСкорее всего, необходимо установить это в любом случае.

Также обратите внимание, что если вам нужен целевой объект ниже исходного (например, для компиляции с Java 6, но развертывания на Java 5), ​​вы можете сделать это с помощью компилятора Eclipse вместо Javac.

1 голос
/ 28 марта 2015

По умолчанию, maven пытается компилировать, используя версию Java 1.3. Я надеюсь, что большинство из них столкнулись с этой ошибкой из-за того, что не сказали maven, что «Эй, Maven, не используйте 1.3 и используйте« what_version_I_give »

Это можно упомянуть в pom.xml, как показано ниже:

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <inherited>true</inherited>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>

В приведенном выше примере я использовал 1,7 . Пожалуйста, замените на любую версию, которую вы хотите.

0 голосов
/ 26 августа 2014

Добавьте это в свой помп

<build>
       <pluginManagement>
          <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-compiler-plugin</artifactId>
                   <version>3.0</version>
                      <configuration>
                          <!-- put your configurations here -->
                      </configuration>
               </plugin> 
          </plugins>
       </pluginManagement>
    </build>
...