web-dev-qa-db-ja.com

Java 1.6でEclipse MarsでAntを実行する

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を使用する回避策はありますか?

20

Eclipse Marsにアップグレードした後、同じ問題に直面しました。

プロジェクトの外部ツール設定のランタイム環境をJDK7に変更するでこれを解決しました。

EclipseでインストールされたjreにJDK7を追加する方法を知っていると仮定します

外部ツール設定を開き...、JREをJDK 1.7に変更

Open External Tools Configurations

次に、JREを変更します

Change JRE

ただし、これにより別の問題が作成され、コンパイルされたjarはJDK 7に含まれ、JDK6を使用する実稼働サーバーでは機能しません。

これを解決するには、単にタスクのターゲット属性を1.6に変更します

<javac target = "1.6">

Change Task target to 1.6

@ dagと@Chrisからの提案に従って、javacタスクが更新されました。 enter image description here

20
Amr ElAdawy

パッチされたAntプラグイン を使用して問題を修正しました。 Eclipse Neonについては、最初のページのコメントに記載されている this link も参照してください。

6
rjahn

<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"

5
user4602302

Eclipse MarsはJava> = 1.7。 this リンクを参照してください。

2
Badal

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のサポートの観点から前進するのか後退するのかは分かりませんが、問題は解決しました。

2
Barney

Eclipseの実行に使用するJavaは、プロジェクトに使用するものと同じである必要はありません。Java 7(または8)ただし、プロジェクトにJava 6を使用できます。

EclipseにJava 6について伝え、それをデフォルトとして設定します(または個々のプロジェクトで選択します)。

2
greg-449

私は最近、この問題に遭遇しました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レベルでビルドされ、私にとってはうまくいきました。

1
Adam