アプリケーションで動作するヘッドレス PDE ビルドを取得しようとしていますが、ビルド中にコンパイルが失敗し、次のメッセージが表示されます。
ERROR in C:\...\TimerManager.java
[javac] private final Map<String, ScheduledFuture<?>> activeTimer = new HashMap<>();
[javac] ^^^^^^^
[javac] '<>' operator is not allowed for source level below 1.7
次の設定が行われます。
build.properties ファイルでは、次のプロパティが設定されています。
CDC-1.1/Foundation-1.1 = ${java.home}/lib/rt.jar JavaSE-1.7 = ${java.home}/lib/rt.jar path.jre = C:/Programme/Java/jre7 javacSource=1.7 javacTarget=1.7ビルドされたプラグインの最小実行環境は JavaSE-1.7 です。
ビルドに使用されるワークスペースは、Java 7 を正常に使用します。
アプリケーションの製品をEclipseで正常に実行できます。
おそらく重要な点は、ターゲット プラットフォーム (Eclipse 3.7.0 rcp_sdk からのプラグインと機能を含む) を${baseLocation}PDE のように使用することbuild.xmlです。
ビルドが成功するように Eclipse 3.7.1 インストールを使用します${baseLocation}が、生産的な使用のためには、アプリケーション内の一部の Eclipse プラグインを置き換えるターゲット プラットフォーム プラグインが必要です。
build.xmlこのタスクでビルドを開始します。
<ant antfile="${eclipse.pdebuild.scripts}productBuild/productBuild.xml" />
baseLocation が原因で間違ったコンパイラが使用されている可能性はありますか? または、ソース レベルを定義する別の場所はありますか?
Target Platform for PDE ...${eclipse.pdebuild.scripts}に従って、Eclipse 3.7.1 インストールの PDE プラグインがインストールされ、正しく設定されています。