compilare java source 1.7 per 1.6 con Maven e Netbeans


Ho un codice sorgente scritto per java 1.7. Vorrei compilarlo per java 1.6. Se ho capito bene, ho bisogno di usare le opzioni-source 1.7-target 1.6

Sto usando Maven2 e Netbeans (8.0). Così, ho provato:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
                <source>1.7</source>
                <target>1.6</target>
                <compilerArguments>
                    <bootclasspath>/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar</bootclasspath>
                </compilerArguments>
            </configuration>
        </plugin>

Ma ottengo un javacTask: source release 1.7 requires target release 1.7

Ho letto che alcune persone usano il compilatore eclipse per farlo funzionare, ma come posso farlo se sto usando Netbeans ?

Grazie mille per il vostro aiuto

Author: Sharcoux, 2014-11-21

1 answers

MODIFICA Scusa è il contrario. È possibile compilare source 1.6 e target 1.7 ma non è possibile compilarlo quando source version > target version perché non è in grado di gestire le nuove funzionalità della lingua.

Per maggiori dettagli su questo vedere Opzioni di compilazione incrociata nella documentazione javac http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html .

Se si dispone di sorgenti 1.6, è possibile compilarle per la versione di destinazione 1.7 in questo modo:

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.7</target>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>>
 1
Author: jakub.petr, 2014-11-26 18:04:28