Maven 3.2.3 を使用しています。私はマルチモジュール プロジェクトを持っており、現在 Maven コンパイラ プラグインをそのように設定しています。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerArgument>-proc:none</compilerArgument>
<fork>true</fork>
<!-- <debug>true</debug> <debuglevel>none</debuglevel> -->
</configuration>
<executions>
<execution>
<id>default-testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
私が疑問に思っているのは、システムの $JAVA_HOME 変数に基づいてコンパイラーのバージョンを設定する方法です。つまり、$JAVA_HOME が Java 6 インストールを指している場合、私の Maven コンパイラーはソースとターゲットとして「1.6」を使用します。同様に、$JAVA_HOME が Java 7 インストールを指している場合、ソースとターゲットは「1.7」などになります。環境に $JAVA_HOME が設定されていない場合、コンパイラのデフォルトを 1.6 に設定したいと思います。
これを設定する方法に関するアドバイスと例をありがとう。