40

私は1つのJREを持っておりC:\Program Files (x86)\Java\jre6、Eclipseをインストールした時点ではそれだけでした。その後、完全なJDKをにインストールし、環境変数をそれにC:\home\SFTWR\jdk1.6.0_21変更しました。JAVA_HOMEただし、新しいEclipseワークスペースを開始するたびに、古いJREのみが取得されるため、手動で削除して新しいJREを追加する必要があります。

Eclipseインストールを新しいJDKにバインドして、すべての新しいワークスペースがそれだけを指すようにするにはどうすればよいですか?確認eclipse.iniしましたが、どのJREにアクセスするかについての参照がありませんでした。

アップデート:

に移動しPrefs->Java->Installed JRE、新しい場所を追加し、デフォルトとしてマークし、もう一方を削除しました。これは、現在のワークスペースに対してのみ有効でした。ただし、新しいワークスペースを開いたときは、古いJREしか使用できませんでした。したがって、これによって、すべての(少なくとも新しい)ワークスペースに適用できるコアEclipse構成は変更されませんでした。

4

11 に答える 11

26

ついにそれを手に入れました: EclipseがJREを取得する方法は、システムのPATHを使用しています

私はC:\home\SFTWR\jdk1.6.0_21\bin以前はまったく道にいなかったし、持っていC:\Program Files (x86)\Java\jre6\binた。私は両方を持っていてJRE_HOMEJAVA_HOME設定しましC:\home\SFTWR\jdk1.6.0_21たが、どちらも問題ではありませんでした。Eclipseは、Javaがパスのどこにあるかを確認するためにjava(またはUNIX / Linuxではこれjava.exe)を実行し、それが属するJREを取得したと思います。私の場合、私が行ったすべての構成の調整(eclipse.ini上記で提案した-vmオプションを含む)にもかかわらず、パスにあるものに固執したままでした。

パスから古いJREビンを削除し、新しいJREビンを挿入すると、すべてのワークスペースで機能します。

于 2013-02-27T22:36:39.330 に答える
16

インストールされたJREは、ダウンストリームJavaプロジェクトおよびサーバーに対して実行するJREに使用されます。環境、履歴、およびeclipse.exeバイナリによって制御されるEclipseプロセス(ワークベンチ)自体を実行するために使用されるJVMまたはJREに関する限り。したがって、eclipse.exe自体が、インストールされたJREプリファレンスではなくJRE Eclipseがそれ自体を実行する対象を決定します。これは、JVM/JREが選択された後にロードされるOSGiフレームワークが起動して実行されるまでJREプリファレンスが読み取られないためです。

したがって、新しいワークスペースの場合、Eclipseは現在実行中のJREを使用してJRE設定を設定します。

私が知っている最善の方法は、-vmスイッチを介して指示したJREをeclipse.exeに強制的に使用させることです。したがって、eclipse.iniでこれを行います。

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-vm
/path/to/exactly/what/jre/you/want/as/default/javaw.exe
...
于 2013-02-27T05:33:38.773 に答える
15

「Java>インストール済みJRE」設定ページを開きます。ワークベンチでデフォルトJREとして割り当てるJREの行のチェックボックスをオンにします。デフォルトとして割り当てるJREがリストに表示されない場合は、それを追加する必要があります。[OK]をクリックします。

ソース-http ://help.eclipse.org/juno/index.jsp?topic =%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask- assign_default_jre.htm

于 2013-02-26T21:25:34.570 に答える
12

日食でに行く

ウィンドウ->Java->インストールされたJRE

jdkがインストールされている場所へのパスを指定することにより、現在インストールされているjreを削除してjdkを追加できます。

ここに画像の説明を入力してください

于 2015-08-19T14:53:17.657 に答える
5

私の答えは、それに追加しながら、両生類の答えと重なるでしょう。

JAVA_HOME変数は問題ありませんが、Path変数に以下を追加する必要もあります。

;%JAVA_HOME%\bin

これにより、Windows環境のアプリケーションがJDKにアクセスできるようになります。また、これらの環境変数を追加したら、それらが機能するかどうかを確認する前に、コンピューターを再起動する必要があります。私の場合、ログアウトしてから再度ログインしても機能しませんでした。完全に再起動する必要がありました。

環境変数が正しく設定されているかどうかを確認する場合は、コマンドプロンプトを開き、>echo %JAVA_HOMEおよび>と入力echo %Path%して、これらの変数が正しく機能しているかどうかを確認します。解決策を探しているときに、JAVA_HOMEパスにスペースが含まれている場合、環境変数を正しく機能させるには、環境変数の前後に引用符( ")を追加する必要があると主張する人もい"%JAVA_HOME%"\binます。これは最初は私の場合だと思いました。 、しかし、完全に再起動した後、スペースがあるにもかかわらず、変数は引用符なしで正しく機能しているように見えました。

于 2014-02-12T18:23:03.153 に答える
5

私は同様の問題に遭遇しました。そこでは、Eclipseが現在の電流%JAVA_HOME%を使用せずpath、代わりに古いバージョンを使用していました。-vmドキュメントは、iniファイルでnoが指定されている場合、eclipseが共有ライブラリを検索することを指摘しています。jvm.dll これは、Windows Javaインストーラーを使用するときにインストールされるキーの下のレジストリに表示されますHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment(キーは64ビットに基づいて少し異なる場合があります) vs 32ビット、ただし検索jvm.dll)。path以前にこの共有ライブラリを見つけていたので%JAVA_HOME%/bin、古いバージョンを使用していました。

他の人が述べているように、これに対処する最も簡単な方法は、eclipse.iniファイルで使用する特定のvmを指定することです。pathまたはeclipse.iniファイル のどこにも指定されていないのに、古いバージョンがまだどのように使用されているのか理解できなかったため、これを書いています。

以下のドキュメントへのリンクを参照してください: http: //help.eclipse.org/kepler/topic/org.eclipse.platform.doc.isv/reference/misc/launcher.html?cp = 2_1_3_1

VMを検索し、JNIInvocationAPIを使用する

Eclipseランチャーは、Java Native Interface Invocation APIを使用して、EclipseプロセスでJavaVMをロードできます。ランチャーは、以前のバージョンのEclipseと同じように、別のプロセスでJavaVMを起動することができます。使用される方法は、VMがどのように検出されたかによって異なります。

-vmが指定されていません

-vmが指定されていない場合、ランチャーは最初にeclipseのルートのjreディレクトリで仮想マシンを検索し、次に検索パスで仮想マシンを検索します。いずれかの場所でJavaが見つかった場合、ランチャーはそのJava実行可能ファイルに関連するjvm共有ライブラリ(Windowsではjvm.dll、* nixプラットフォームではlibjvm.so)を探します。

  • jvm共有ライブラリが見つかった場合、ランチャーはそれをロードし、JNI呼び出しAPIを使用してvmを開始します。
  • jvm共有ライブラリが見つからない場合、ランチャーはjavaランチャーを実行して、新しいプロセスでvmを開始します。

-コマンドラインまたはeclipse.iniで指定されたvm

Eclipseは、使用する仮想マシンを示すために「-vm」で開始できます。の値にはいくつかの可能性があります:

  • directory: はディレクトリです。そのディレクトリで次のものを探します。
    • (1)Javaランチャーまたは
    • (2)jvm共有ライブラリ。

jvm共有ライブラリが見つかった場合は、JNI呼び出しを使用します。ランチャーが見つかった場合、ランチャーに関連する既知の場所でjvmライブラリを見つけようとします。見つかった場合は、JNI呼び出しを使用します。jvmライブラリが見つからない場合は、新しいプロセスでjavaを実行します。

  • java.exe / javaw.exe: Javaランチャーへのパスです。そのJavaランチャーを実行して、新しいプロセスでvmを開始します。

  • jvm dllなど: jvm共有ライブラリへのパスです。そのライブラリをロードし、JNI Invocation APIを使用して、現在のプロセスでvmを開始しようとします。

于 2015-11-25T16:54:52.253 に答える
4

実行構成を選択すると、メインタップの隣にJREタップがあり、「ワークスペースのデフォルトJRE(JDK1.7)」を選択します。

必ずjdkを使用してくださいPrefs->Java->Installed JREs ->Execution Environment

于 2016-02-27T21:55:34.507 に答える
3

私は同じ問題に直面しました。解決策:-[ウィンドウ]->[設定]->[Java]->[インストールされたJRE]->[追加...]-プロジェクトを右クリック->[ビルドパス]->[ビルドパスの構成]->[ライブラリの追加]-> JREシステムライブラリ->次へ->WorkSpaceデフォルトJRE

于 2014-11-11T11:53:22.670 に答える
0

順序を変更してみてください。プロジェクトを右クリック->BuildPath->設定...->[順序とエクスポート]タブ->jre7を上に移動します。

于 2013-09-02T17:25:39.193 に答える
0

Windowsでは、さまざまなアプローチを試しました。JAVA_HOME、JRE_HOMEを設定し、PATHを拡張して目的のjre18を指すようにしましたが、何も役に立ちませんでした。JavaコントロールパネルでJRE17を無効にしても効果はありませんでした。

私を助けたのは、eclipseにeclipse.iniファイル内の適切なJREを使用するように強制することでした。

-vm C:\ java \ jdk1.8.0_111 \ jre \ bin \ javaw.exe

于 2018-08-11T06:03:20.147 に答える
-1

私はにナビゲートしました:

Eclipse>Pref>Java>Installed JRE>Search...

そのうちの2つがポップアップし、最新のものを確認しました。これを行う前に、私も行ってAbout>Check for Updates更新しました。JREやJDKを再インストールする必要もありませんでした。1.4ではなく1.6であったことを除いて、私はしばらく前にそれを行ったかもしれません。お役に立てば幸いです。

于 2014-04-16T19:48:39.033 に答える