2011-06-28 15 views
14

Cuando se ejecuta mvn install en mi proyecto, veo que fallan debido a los siguientes errores:Maven Instalar: "Anotaciones no se admiten en -fuente 1.3"

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 

Mi dependencia Maven incluye jUnit 4.8, sin embargo, y no tiene referencia a 1.3 cualquier cosa.

¿Qué causaría estos errores? Por favor avise

Respuesta

23

Debe especificar la versión de origen de su proyecto de maven mediante el uso del compilador maven-compiler. Agregue lo siguiente a su elemento de compilación pom y establezca los niveles apropiados de origen y destino de 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/

+0

¡Gracias! Muchas gracias – JAM

2

Es muy probable que tenga OpenJDK donde el nivel de la fuente es de 1,3 cuando no se establece explícitamente - en contraposición a Oracle JDK donde el nivel de la fuente es de 1.5.

Dado que la mayoría de los proyectos modernos de Java apuntan a un código más reciente que Java 5, lo más probable es que necesite configurar esto de todos modos.

También tenga en cuenta que si necesita un objetivo inferior al de origen (por ejemplo, para compilar con Java 6 pero implementar en Java 5) puede hacerlo utilizando el compilador de Eclipse en lugar de Javac.

4

Una versión más corta:

<project> 
    <properties> 
     <maven.compiler.source>1.5</maven.compiler.source> 
     <maven.compiler.target>1.5</maven.compiler.target> 
    </properties> 
.... 
0

Añadir esto en su pom

<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> 
1

predeterminado Bu, el experto intenta compilar usando Java versión 1.3. Espero que la mayoría de ellos golpeó este error debido a que faltan para contar experto que "Hey Maven, no uso 1.3 y utilizar" whatever_version_I_give"

Esto puede ser mencionado en pom.xml de la siguiente manera:

  <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> 

En el ejemplo anterior, he utilizado 1,7. Por favor reemplazar con cualquier versión que desea.