2013-03-08 3 views
1

J'ai un projet simple Maven qui comprend un fichier, App.java, contenantsimple compilation échoue sous Maven, réussit avec javac

package com.foo; 

public class App 
{ 
    private Long wrapper; 

    public long getlong() { 
     if (null != wrapper) { 
      return wrapper; 
     } else { 
      return 0; 
     } 
    } 
} 

(Vous pouvez dupliquer ce en utilisant le Maven en 5 minutes la création de projets et remplacer App.java par ce qui précède).

mvn compile produit

.../foo/App.java:[9,12] incompatible types 
found : java.lang.Long 
required: long 

tout en naviguant dans le répertoire en cours d'exécution et javac App.java produit aucune erreur. Quelqu'un sait quoi de neuf? (Je suppose que Maven utilise n'importe quelle version de Java est installé sur ma boîte, en tout cas, c'est 1.6.0_21 Merci

+0

Qu'est-ce que 'mvn version' rapport pour la version JDK utilisés – Perception

+0

' mvn -V compile' signale également 1.6.0_21 – rogerl

+0

Fait intéressant,. tout ce qui précède se produit sur ma machine Ubuntu 12.04 Quand je fais exactement la même chose sur ma boîte Mac OS, la compilation Maven fonctionne aussi bien. , 'mvn -V compile' rapports 1.6.0_41. – rogerl

Répondre

3

Il est probablement compiler avec une version source ou target de 1.4 Vous devrez configurer le plugin compilateur pour compiler une version supérieure Voir "How do I set up Maven so it will compile with a target and source JVM of my choice?" et "Setting the -source and -target of the Java Compiler":.?

... 
    <build> 
    ... 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.0</version> 
     <configuration> 
      <source>1.6</source> 
      <target>1.6</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    ... 
    </build> 
    ... 
+0

Merci! Je me suis dit que je recevais le 1.4 JDK, mais je n'arrivais pas à comprendre comment. Merci encore. – rogerl

+1

Imaginez la vie sans autoboxing ... – vikingsteve

Questions connexes