サーバーバックエンドモジュールとクライアントフロントエンドモジュールの両方を備えたMavenプロジェクトがあります。目標は、サーバーのバックエンドモジュールでJDK 7のパフォーマンスの向上を活用することですが、クライアントモジュールはJDK6でのみ構築します。クライアントモジュールはTomcatで実行されますが、サーバーモジュールは個別のJavaアプリケーションです。
特定のJDKをターゲットとするMaven構成を認識しています。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerVersion>1.6</compilerVersion>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
このアプローチの注意点の1つは、サーバーモジュールとクライアントモジュールの両方で使用される共通モジュールがあり、モジュールごとに2つの異なるバイナリ(JDK 6および7)が必要になることです。
JDK 6のアーティファクトの1つのセット、JDK 7のアーティファクトの別のセット、およびJDK 6と7の両方のアーティファクトの3番目のセット(両方で使用)をすべて同じプロジェクトに属するようにコンパイルするにはどうすればよいですか?モジュールを3つの別々のプロジェクトに分割する必要がありますか?