web-dev-qa-db-ja.com

Windows(7)でJavaランタイムバージョンを変更するにはどうすればよいですか?

WindowsでJavaランタイムバージョンを変更するにはどうすればよいですか。

いくつかのテストにJava 7をインストールしましたが、システムのデフォルトとして古いJava6が必要になりましたが、Java 7をアンインストールしたくありません(後のテストに必要です)。コントロールパネル/ Java/JREタブでシステムで使用される JRE を変更できますか?ユーザー使用バージョンを変更/編集/追加/削除できますが、システム使用バージョンは変更できません。

58
tomkpunkt

Javaapplicationsの場合、つまり(通常).jarファイルとして配信され、Java -jar xxx.jarで起動されるプログラム、または同じように、起動されるJREはPATHで最初に検出されます。

JREまたはJDKをインストールした場合、.exesを見つける可能性のある場所は、C:\Program Files\JavaSoft\JRE\x.y.zなどのディレクトリの下です。ただし、(また?)Java.exeおよびjavaw.exeのコピーをC:\winnt\system32(NTおよび2000)またはC:\windows\system(Windows 95、98)に持っている「すぐに使える」Windowsインストールを見つけました。これは通常、Javaのかなり古いバージョンです:1.3かもしれません。コマンドウィンドウでJava -versionを実行して、古いバージョンのJavaを実行していないことを確認する必要があります。

もちろん、PATH設定をオーバーライドすることもできますし、コマンドラインまたはショートカット定義でJava.exe/javaw.exeへのパスを明示的に指定することによって、PATH設定を無効にすることもできます。


ブラウザからappletsを実行している場合、またはJava Web Startアプリケーション(独自のウィンドウがある限り、アプリケーションのように見えますが、ブラウザから起動します)、JREの選択はレジストリ設定のセットによって決定されます。

Key: HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
Name: CurrentVersion
Value: (e.g.) 1.3

このスキームを使用して、さらにレジストリキーが作成されます。

(e.g.) 
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3   
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3.1

つまり、メジャーバージョン番号とマイナーバージョン番号を含むバージョンです。これらの各キーには、次のような値があります(例を示します)。

JavaHome    : C:\program Files\JavaSoft\JRE\1.3.1
RuntimeLib  : C:\Program Files\JavaSoft\JRE\1.3.1\bin\hotspot\jvm.dll
MicroVersion: 1

...そして、ブラウザはこれらの設定を参照して、起動するJREを決定します。

Javaバージョンはかなり頻繁に変更されるため、ブラウザのJavaバージョンを手動で切り替えるための「Javaコントロールパネル」と呼ばれる「ウィザード」があります。これは、IE、Firefox、およびおそらくOperaやChromeのような他のアプリケーションでも動作します。これは、Windowsの「Java」アプレットSystem Settingsアプリです。インストールされているJREのいずれかを選択できます。ウィザードはこれらのレジストリエントリをいじると信じています。

私のように、単にディレクトリを一掃するだけで古いJavaバージョンを「アンインストール」している場合は、これらの「ゴースト」も選択肢の中にあります。そのため、選択したJREが無傷のJavaインストールに対応していることを確認してください!


他のいくつかの答えは、environment変数Java_HOMEの設定を推奨しています。一方、これは時代遅れのアドバイスです。 Sunは、Java 2を中心に、この環境設定が

  1. ユーザーがしばしば誤って設定するため、信頼できない
  2. ランタイムがJavaライブラリディレクトリを見つけるのは簡単であり、Java.exeまたはjavaw.exeが起動されたパスからの相対パスにあることを知っているので、不要です。

Java_HOME環境変数を必要とする、または尊重する最新のJavaソフトウェアはほとんど残っていません。


詳しくは:

...およびマルチバージョンのサポートに関するいくつかの有用な情報:

75
Carl Smotricz

私はUNIXライクなマシンで作業していましたが、最近、Windows 7マシンでJavaを使用する必要がありました。私はその問題を抱えており、これは私が解決したことです。私にとってはうまく機能しているので、将来この問題が発生する可能性のある人に使用できることを願っています。

これらの手順は、ドライブCのデフォルトJavaインストールを考慮して公開されています。インストールがデフォルトではない場合、必要なものを変更する必要があります。

Windows 7でJava default VMを変更します

Java 8をインストールしたが、何らかの理由でJava 7を使い続けたいとします。

1-管理者としてcmdを開始します

2- C:\ProgramData\Oracle\Javaに移動

3-現在のディレクトリの名前を変更しますjavapathjavapath_ <version_it_refers_to>。例:rename javapath javapath_1.8

4- javapath_ <version_you_want_by_default>ディレクトリを作成します。例:mkdir javapath_1.7

5- cdして、次のリンクを作成します。

cd javapath_1.7
mklink Java.exe "C:\Program Files\Java\jre7\bin\Java.exe"
mklink javaw.exe "C:\Program Files\Java\jre7\bin\javaw.exe"
mklink javaws.exe "C:\Program Files\Java\jre7\bin\javaws.exe"

6- cdしてディレクトリリンクを作成しますjavapath目的のjavapathを指します。例:mklink /D javapath javapath_1.7

7-レジスタを開き、キーを変更しますHKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion値1.7

この時点でJava -versionを実行すると、Javaバージョン1.7を使用していることがわかります。

Java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

8-最後に、環境変数Java_HOMEを作成することをお勧めします。これを行うには、C:\ Program Files\Javaに、興味のあるJavaバージョンを指すCurrentVersionという名前のディレクトリリンクを作成します。例:

cd C:\Program Files\Java\
mklink /D CurrentVersion .\jdk1.7.0_71

9-そして、これが完了したら:

  • [マイコンピュータ]を右クリックし、[プロパティ]を選択します。
  • [詳細設定]タブで[環境変数]を選択し、Java_HOMEを編集/作成して、JDKソフトウェアのある場所(この場合はC:\ Program Files\Java\CurrentVersion)を指すようにします。
58
Mia

Java 1.6以降、Java.exeは "-version"コマンドラインオプションをサポートする%windir%\ system32にインストールされます。これを使用して、実行する特定のバージョンを選択できます。例:

Java -version:1.7 -jar [path to jar file]

Java 1.7でjarアプリケーションが実行されます(インストールされている場合)。

Oracleのドキュメントを参照してください: http://docs.Oracle.com/javase/6/docs/technotes/tools/windows/Java.html

25
Jules

Javaバージョンを8に更新したら、ブラウザーの提案に従ってください。ただし、プロジェクトのコーディングに使用した以前のJava 6バージョンをアンインストールすることを選択しました。 cmdの「Java -version」にコマンドを入力すると、1.8が表示され、IDE 1.6でEclipse Javaを実行できませんでした。

ブラウザにJava 8更新プログラムをインストールすると、「PATH」システム変数が変更され、「C:\ ProgramData\Oracle\Java\javapath」が先頭に追加されました。 Java vesion 8を指す新たに追加されたパス。だから、「PATH」システム変数からそのパスを削除し、すべて正常に機能しました。 :)

6

コントロールパネルに移動-> Javaここでアクティブバージョンを選択できます。

4
Shazia Tabassum

必要なことは、WindowsでPATH環境変数を設定して、Java7ディレクトリの代わりにJava6 binディレクトリがある場所を指すようにすることだけです。

[マイコンピュータ]> [システムの詳細設定]> [詳細設定]> [環境変数]を右クリックします。

Java_HOME環境変数がある場合、これも正しいディレクトリを指すように設定します。

3
David Young

Windows 10またはWindows Server 2012を使用している場合、Javaランタイムバージョンを変更する手順は次のとおりです。

  1. 「実行」を使用してregeditを開きます
  2. HKEY_LOCAL_MACHINE->ソフトウェア-> JavaSoft-> Java Runtime Environmentに移動します
  3. ここには、PCにインストールしたJavaのすべてのバージョンが表示されます。私にはJava 1.8のいくつかのバージョンがインストールされているため、ここに表示されるフォルダーは1.8、1.8.0_162、および1.8.0_171です。
  4. 「1.8」フォルダーをクリックしてから、JavaHomeキーとRuntimeLibキーをダブルクリックし、PCを実行するJavaバージョンにバージョン番号を変更します。たとえば、キーの値データが「C:\ Program Files\Java\jre1.8.0_171」の場合、これを「C:\ Program Files\Java\jre1.8.0_162」に変更できます。
  5. その後、コマンドラインで「Java -version」と入力して、バージョンの変更を確認できます。
0
Harvey Lin

環境変数を更新する

Java/binへの参照が「パス」で最新であることを確認してください。 Java_HOMEまたは同等のセットがある場合、これは自動的に行われます。 Java_HOMEが設定されている場合は、古いJREインストールを参照するように更新するだけです。

0
Syntax