WindowsでJavaランタイムバージョンを変更するにはどうすればよいですか。
いくつかのテストにJava 7をインストールしましたが、システムのデフォルトとして古いJava6が必要になりましたが、Java 7をアンインストールしたくありません(後のテストに必要です)。コントロールパネル/ Java/JREタブでシステムで使用される JRE を変更できますか?ユーザー使用バージョンを変更/編集/追加/削除できますが、システム使用バージョンは変更できません。
Javaapplicationsの場合、つまり(通常).jar
ファイルとして配信され、Java -jar xxx.jar
で起動されるプログラム、または同じように、起動されるJREはPATH
で最初に検出されます。
JREまたはJDKをインストールした場合、.exe
sを見つける可能性のある場所は、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を中心に、この環境設定が
Java_HOME
環境変数を必要とする、または尊重する最新のJavaソフトウェアはほとんど残っていません。
詳しくは:
...およびマルチバージョンのサポートに関するいくつかの有用な情報:
私はUNIXライクなマシンで作業していましたが、最近、Windows 7マシンでJavaを使用する必要がありました。私はその問題を抱えており、これは私が解決したことです。私にとってはうまく機能しているので、将来この問題が発生する可能性のある人に使用できることを願っています。
これらの手順は、ドライブCのデフォルトJavaインストールを考慮して公開されています。インストールがデフォルトではない場合、必要なものを変更する必要があります。
Java 8をインストールしたが、何らかの理由でJava 7を使い続けたいとします。
1-管理者としてcmdを開始します
2- C:\ProgramData\Oracle\Java
に移動
3-現在のディレクトリの名前を変更しますjavapathにjavapath_ <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 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
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」システム変数からそのパスを削除し、すべて正常に機能しました。 :)
コントロールパネルに移動-> Javaここでアクティブバージョンを選択できます。
必要なことは、WindowsでPATH環境変数を設定して、Java7ディレクトリの代わりにJava6 binディレクトリがある場所を指すようにすることだけです。
[マイコンピュータ]> [システムの詳細設定]> [詳細設定]> [環境変数]を右クリックします。
Java_HOME環境変数がある場合、これも正しいディレクトリを指すように設定します。
Windows 10またはWindows Server 2012を使用している場合、Javaランタイムバージョンを変更する手順は次のとおりです。
環境変数を更新する
Java/binへの参照が「パス」で最新であることを確認してください。 Java_HOMEまたは同等のセットがある場合、これは自動的に行われます。 Java_HOMEが設定されている場合は、古いJREインストールを参照するように更新するだけです。