Eclipse(Mars)の最新リリースをダウンロードし、プロジェクトでJava 1.6を使用しているため、必要なJavaバージョンをEclipse.iniファイルの1.6に変更しました。
Java 1.6を使用するようにEclipse内にインストールされたJREを構成しました。しかし、antターゲットを実行しようとすると、エラーが発生します。
1.7より前のJREバージョンはサポートされていません。
現時点でJava 1.7にアップグレードできないので、火星バージョンでJava 1.6を使用する回避策はありますか?
Eclipse Marsにアップグレードした後、同じ問題に直面しました。
プロジェクトの外部ツール設定のランタイム環境をJDK7に変更するでこれを解決しました。
EclipseでインストールされたjreにJDK7を追加する方法を知っていると仮定します
外部ツール設定を開き...、JREをJDK 1.7に変更
次に、JREを変更します
ただし、これにより別の問題が作成され、コンパイルされたjarはJDK 7に含まれ、JDK6を使用する実稼働サーバーでは機能しません。
これを解決するには、単にタスクのターゲット属性を1.6に変更します
<javac target = "1.6">
@ dagと@Chrisからの提案に従って、javacタスクが更新されました。
パッチされたAntプラグイン を使用して問題を修正しました。 Eclipse Neonについては、最初のページのコメントに記載されている this link も参照してください。
<javac>
reference https://ant.Apache.org/manual/Tasks/javac.html#compilervalues を見て、<javac>
-に次の属性を追加してくださいタスク:compiler="javac1.6"
source="1.6"
target="1.6"
executable="[path-to-jdk-1.6/bin/javac]"
fork="true"
taskname="javac1.6"
。
Eclipse MarsはJava> = 1.7。 this リンクを参照してください。
JRE 1.8でEclipse Oxygenを実行していますが、いくつかの古い1.7プロジェクトをビルドしており、jdk1.7.0_40
別個のJREとしてインストールされ、ツールの外部構成でセットアップされましたが、「jre less than 1.8 not supported」エラーが発生しました。
私にとってそれを修正したのは、ビルドxml構成を直接更新することでした。特に、コピー元として機能する別のプロジェクトがある場合です。
具体的には、以下の起動構成に行きました。
workspace/.metadata/.plugins/org.Eclipse.debug.core/.launches
関連する...build.xml.launch
ファイル、置換:
<booleanAttribute key="org.Eclipse.ant.ui.DEFAULT_VM_INSTALL" value="true"/>
<stringAttribute key="org.Eclipse.jdt.launching.JRE_CONTAINER" value="org.Eclipse.jdt.launching.JRE_CONTAINER/org.Eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_40"/>
と:
<booleanAttribute key="org.Eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
<stringAttribute key="org.Eclipse.jdt.launching.VM_INSTALL_NAME" value="jdk1.7.0_40"/>
<stringAttribute key="org.Eclipse.jdt.launching.VM_INSTALL_TYPE_ID" value="org.Eclipse.jdt.internal.debug.ui.launcher.StandardVMType"/>
そして、Eclipseを再起動してそれを拾い上げました。
これがEclipseのサポートの観点から前進するのか後退するのかは分かりませんが、問題は解決しました。
Eclipseの実行に使用するJavaは、プロジェクトに使用するものと同じである必要はありません。Java 7(または8)ただし、プロジェクトにJava 6を使用できます。
EclipseにJava 6について伝え、それをデフォルトとして設定します(または個々のプロジェクトで選択します)。
私は最近、この問題に遭遇しましたJava 8がマシン上にあり、Elicpse Oxygenを使用し、Antを使用してJava 6プロジェクトをビルドしようとしました。上記の提案だけでなく、Antビルドプロセス中に奇妙な動作も発生しました。
1)JavaホームはJava 8。
2)Antスクリプトで、@ Chrisによって提案された値を設定します。
3)AntランタイムJREを変更しないでください。私のものは8のままで、実際に6に変更した場合はAntビルドを実行しません...
4)プロジェクト設定のビルドパスとコンパイラレベルはすべて6に設定されました。
5)ビルドを実行します。
これにより、Java 6レベルでビルドされ、私にとってはうまくいきました。