web-dev-qa-db-ja.com

Windows 7でJava_homeを設定する方法?

私はコントロールパネルの 'システム'の環境変数に行き、二つの新しい変数を作りました。一つはユーザー変数用、もう一つはシステム変数用です。どちらもJava_HOMEという名前で、どちらも指しています。

C:\ Sun\SDK\jdk\bin

しかし、何らかの理由で、私はまだJavaコマンドを実行するときに以下のエラーが出ます...

BUILD FAILED
C:\Users\Derek\Desktop\Eclipse\eclipse\glassfish\setup.xml:161: The following error  occurred while executing this line:
C:\Users\Derek\Desktop\Eclipse\eclipse\glassfish\setup.xml:141: The following error occurred while executing this line:
C:\Users\Derek\Desktop\Eclipse\eclipse\glassfish\setup.xml:137: Please set Java.home to a JDK installation

Total time: 1 second
C:\Users\Derek\Desktop\Eclipse\eclipse\glassfish>lib\ant\bin\ant -f setup.xml
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Buildfile: setup.xml

どうすればこの問題を解決できますか?

407
Derek

JDKインストールディレクトリを検索する

まず、Java Development Kitのインストールパスを知る必要があります。

JDKのデフォルトのインストールパスを開きます。

C:\Program Files\Java

以下のようなサブディレクトリがあるはずです。

C:\Program Files\Java\jdk1.8.0_172

注: oneの場合は、末尾に/ binを付けずにjdkへのパスを入力するだけです(多くの場所で推奨されています)。例えばC:\ Java\jdk1.8.0_172およびNOT C:\ Java\jdk1.8.0_172\bin!


Java_HOME変数を設定します

JDKのインストールパスが決まったら:

  1. デスクトップの マイコンピュータ アイコンを右クリックし、 プロパティ を選択します。
  2. 詳細設定 タブをクリックし、次に 環境変数 ボタンをクリックします。
  3. システム変数 の下で、新規をクリックします。
  4. 変数名を Java_HOME のように入力します。
  5. Java Development Kitのインストールパスとして変数値を入力します。
  6. _ ok _ をクリックします。
  7. 変更の適用 をクリックします。

注: Windowsを再起動する必要があるかもしれません

完全な記事は、私のブログにあります: WindowsでのJava_HOME変数の設定

658
Robs

%Java_HOME%\bin環境変数がjdkフォルダを指すようにして、Path環境変数にJava_HOMEを追加しました。

153
fogedi

あなたのシステムに最初に JDKをインストールする必要があります

Javaホームの設定

Java_HOME = C:¥Program Files¥Java¥jdk1.7.0 [JDKインストールディレクトリの場所]

JDKのインストールパスが決まったら:

  • 上のマイコンピュータアイコンを右クリックします。
  • プロパティを選択します。
  • 画面左側の[詳細システム設定]タブをクリックします。
  • Aadvanceポップアップが開いています。
  • 環境変数ボタンをクリックしてください。

enter image description here

  • システム環境変数で、新規をクリックします。
  • Java_HOMEとして変数名を入力してください。
  • Java Development Kitのインストールパスとして変数値を入力します。
  • OKをクリックしてください。
  • 変更の適用をクリックします。

システム変数の下にJavaパスを設定します。

_ path _ = C:¥Program Files¥Java¥jdk1.7.0; [セミコロンで値を追加]

check here

120
Ankit jain

cmd(一時的にそのcmdウィンドウ用):

set Java_HOME="C:\\....\Java\jdk1.x.y_zz"

echo %Java_HOME%

set PATH=%PATH%;%Java_HOME%\bin

echo %PATH%
29
sgrillon

http://javahowto.blogspot.com/2006/05/javahome-vs-javahome.html

「コントロールパネル」>「Java」、「Java」タブで、「表示」ボタンをクリックします。実行時パラメータに、次のように入力します。

-Djava.home=YOUR_PATH_HERE

あるいは、Javaを実行するときに、そのコマンドラインスイッチをコマンドに追加することができます。

Java -Djava.home=PATH SomeJavaApp
17
Ricket

これをC:\Sun\SDK\jdkに設定する必要があります(JDKがインストールされている場所であると想定します - これはデフォルトではありません) - C:\Sun\SDK\jdk\binに\ binを入れないでください。

現在のユーザーとしてログインしたときにのみアプリが実行される場合は、それをユーザー変数に入れます - システム上のすべてのユーザーに対して実行する必要がある場合は、システム変数に入れます。

また、%Java_HOME%\binをパスに追加する必要があるかもしれません(また、それをユーザーだけから実行するのか、Systemを含むすべてのユーザーから実行するのかによっても異なります)。

15
Romain Hippeau

1枚の画像でこの問題を解決できます。 enter image description here

多くのための

9
KarSho

これは 公式の解決策 www.Java.comからJava環境を設定するための - ここ です。

Windows 7、Windows Vista、Windows XP、Linux/Solaris、およびその他のシェル用のソリューションがあります。


Windows 7

  1. スタートメニューからコンピュータを選択します
  2. コンテキストメニューから[システムのプロパティ]を選択します。
  3. システムの詳細設定 - >詳細設定タブをクリックします。
  4. [システム環境変数]の下の[環境変数]をクリックし、[PATH]を見つけてクリックします。
  5. 編集ウィンドウで、クラスの場所をPATHの値に追加してPATHを変更します。 PATHという項目がない場合は、新しい変数を追加し、名前としてPATHを、値としてクラスの場所を追加することを選択できます。
  6. コマンドプロンプトウィンドウを開き、Javaコードを実行します。
7
HATCHA

まだこの問題に困惑している人のために(私はすべての上記の提案を試してみました) -

64ビット版のWindowsを使用していて、PATH変数を調整する以外に32ビットJDKをインストールした場合は、 registry 変数も調整する必要があります。

私は自分のPATH変数を正しく - まだ利用できないように - 設定していて、その後、私のレジストリで "空いた" Javaエントリを見つけることだけを考え出していました。

私が始めようとしていたプログラムを見るためにProcess Monitorを使って、それがJava(Runtime Environment)のレジストリのどこを見ているのかを嗅ぐために、私はそれが 32-bit バージョンのHKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\JavaSoft\Java Runtime Environmentにあるレジストリエントリ。

そのキーの中に、インストールされているさまざまなJavaバージョンのサブキー(過去および/または現在)があるはずです。最新バージョンのサブキーをクリックします(たとえば、現在のサブキーは1.7.0_25です)。そのサブキーをクリックすると、右側にレジストリ文字列の値、特にJavaHomeRuntimeLibが表示されます。これら2つの値をそれぞれ current フォルダーとjvm.dllファイルの両方を反映するように変更する必要があります。

たとえば、私の場合、(以前の)それぞれの値はC:\Program Files (x86)\Java\jre7C:\Program Files (x86)\Java\jre7\bin\client\jvm.dllに設定されていましたが、これは私のマシンでは存在しません。これらを現在のフォルダーとファイルC:\Program Files (x86)\Java\jdk1.7.0_25\jreC:\Program Files (x86)\Java\jdk1.7.0_25\jre\bin\client\jvm.dllに更新する必要がありました。

繰り返しますが、これはインストールしたJavaのバージョン(JDKまたはJRE、あるいはその両方)(32または64ビット)と、使用しているオペレーティングシステムの種類(32または64ビット)の両方に完全に依存します。これらがレジストリ内のさまざまな場所に反映されていることを知ってください(32ビットアプリケーション用のWow6432Node、私の場合は64ビットマシンに32ビットJDKがインストールされている場合など)。

これら2つのレジストリ値を更新したので、私のプログラムは完璧に動作し、Java Runtime Environmentの欠落(レジストリに起因する)についての問題や苦情はもうありません。

6
Coldblackice

Windows 7

  1. コントロールパネル\すべてのコントロールパネル項目\ユーザーアカウント にアクセスします。Internet ExplorerではなくInternet Explorerを使用します。

    または

    • スタートボタンをクリック

      start

    • あなたの写真をクリックしてください

      clickOnPhoto

  2. 環境変数を変更します

    Change my environment variables

  3. 新しい...

    new

    (システム変数セクションに追加するための十分な権限がない場合は、ユーザー変数セクションに追加します)

  4. 変数名として Java_HOME を、変数値としてJDKの場所を追加> OK

    edit system variable ok

テスト:

  • new console(cmd)を開く
  • タイプset Java_HOME
    • 期待される出力:Java_HOME=C:\Program Files\Java\jdk1.8.0_60
5

gotoマイコンピュータ(このパソコン) - >右クリック - >プロパティの選択 - >システムの詳細設定 - >環境変数 - > in システム変数 " New "ボタンをクリックして Java_HOME in 変数名 およびパスC:¥Program Files¥Java¥jdk1.8.0_131 jdkが変数値に存在していた - > [OK]をクリック.

java_HOMEを設定したら、コマンドプロンプトを閉じて再度開きます。 Java_HOMEを設定する前に開かれたcmdに変更が反映されない場合があります。

端末自体からもJava_HOMEを設定できます。 SET Java_HOME = "C:¥Program Files(x86)¥Java¥jdk1.8.0_131"

5
Shreya Sharma

ここで交換可能な2つの環境変数を区別する必要があります。 1つはJava_HOME変数です。もう1つはPath変数です。 Java_HOME変数を参照するプロセスは、JREではなくJDKへの検索パスを探しています。 Java_HOME変数の使用は、Javaコンパイラ自体を対象とするものではありません。コンパイラは、独自の場所を認識しています。この変数は、他のソフトウェアがコンパイラを簡単に見つけるためのものです。この変数は、通常、IDEソースコードからアプリケーションをコンパイルおよびビルドするためにJavaソフトウェアによって使用されます。対照的に、Windows CMDインタープリター、および他の多くのファーストおよびサードパーティソフトウェアは、Java_HOME変数ではなくPath変数を参照します。

ユースケース1:CMDからのコンパイル

たとえば、IDEソフトウェアを使用しておらず、現在の作業ディレクトリとは無関係にCMDからコンパイルしたい場合は、Path変数を正しく設定する必要があります。 。あなたの場合、Java_HOME変数さえ必要ありません。 CMDはJavaコンパイラーを見つけるためにJava_HOMEではなくPathを使用しているため。

ユースケース2:IDEからのコンパイル

ただし、いくつかのIDEソフトウェアを使用している場合は、まずドキュメントを確認する必要があります。 Java_HOMEを設定する必要がありますが、同じ目的で別の変数名を使用することもあります。長年の事実上の標準はJava_HOMEでしたが、常にそうであるとは限りません。

ユースケース3:IDEおよびCMDからのコンパイル

IDEソフトウェアに加えて、現在の作業ディレクトリに関係なくCMDからコンパイルできるようにしたい場合は、additionJava_HOME変数に、JDK検索パスをPath変数に追加する必要がある場合があります。

Java_HOME vs.パス

問題がJavaのコンパイルに関連している場合は、Java_HOME変数とパス(該当する場合)を確認する必要があります。問題がJavaアプリケーションの実行に関連している場合、Path変数を確認する必要があります。

パス変数は、すべてのオペレーティングシステムで広く使用されています。システムによって定義され、JREの検索に使用されるデフォルト変数であるため、Javaアプリケーションの実行に問題はほとんどありません。特に、ソフトウェアインストーラーが通常すべてをセットアップするWindowsではそうではありません。しかし、手動でインストールする場合、最も安全なことは、おそらくJava_HOME変数を完全にスキップし、JDKとJREの両方ですべてにPath変数を使用することです。 IDEソフトウェアの最新バージョンは、それを選択して使用できるはずです。

シンボリックリンク

シンボリックリンクは、既存の環境変数の1つをピギーバックすることにより、JDK検索パスを参照する別の方法を提供する場合があります。

Oracle/Sun JDK/JREリリースの以前のバージョンについてはわかりませんが、少なくともjdk1.8.0_74のインストーラーは、検索変数C:\ProgramData\Oracle\Java\javapathをPath変数に追加します文字列値の先頭に置きます。このディレクトリには、JREディレクトリ内のJava.exe、javaw.exe、およびjavaws.exeへのシンボリックリンクが含まれています。

したがって、少なくともJava 8 JDKおよびおそらくJava 8 JREスタンドアロンでは、JREの環境変数設定を行う必要はありません。インストーラーパッケージを使用してセットアップする限り。ただし、Windowsのインストールには違いがある場合があります。 Oracle JREはJDKにバンドルされていることに注意してください。

Java JDK構成が誤ったバージョンのコンパイラを使用している、または明示的に定義されていない(スペルをキャストしない)マジックで動作しているように見える場合は、環境変数のどこかにシンボリックリンクします。したがって、シンボリックリンクを確認することをお勧めします。

5
Samir

あなたのJavaディレクトリをあなたのPATH変数に追加している間、あなたはそれをそれの始めに正しく置くことを望むかもしれません。私は問題を抱えていました、PATHの最後にJavaディレクトリを置いてもうまくいかないということです。確認したところ、Java.exeディレクトリにWindows\System32が見つかりました。PATH...に同じ名前のファイルが複数ある場合は、最初のものが優先されます。

4
user2414128

Eclipseの場合:Window->Preferences->Java->Installed JREs

検索機能を使用して、最新のJavaインストールがリストされていることを確認してください。それがチェックされているものであることを確認してください。これはJREではなくJDKであるべきです。

4
Berg

管理者として Eclipse を実行します。

これで私の問題は解決しました。私はまだその背後にある論理について掘り下げています。

3
muscailie

jdkのインストール後にコンピュータを再起動していない場合は、コンピュータを再起動してください。

portable Javaを作成してJavaを使用する前にパスを設定したい場合は、以下に説明するバッチファイルを作成してください。

コンピュータの起動時にこのバッチファイルを実行する場合は、バッチファイルのショートカットをスタートアップフォルダに配置してください。 Windows 7では、スタートアップフォルダは "C:¥Users¥user¥AppData¥Roaming¥Microsoft¥Windows¥Start Menu¥Programs¥Startup"です。

このようなバッチファイルを作ります。

set Java_Home=C:\Program Files\Java\jdk1.8.0_11
set PATH=%PATH%;C:\Program Files\Java\jdk1.8.0_11\bin

注:Java_homepathは変数です。あなたはあなたが望むように任意の変数を作ることができます。例えばset amir=good_boyでamirを%amir%で見たり、Java_homeを%Java_home%で見たりできます。

2
Amir

ここでのほとんどの解決策を何時間もかけて作業したところ、32ビットJDKをインストールするだけで問題は解決しました。

0
Vahid Ghadiri

Windows/System32フォルダで次のファイルを探したい場合があります。 - Java.exe - javaw.exe - javaws.exe

Path変数にこれらのファイルが含まれているため、なぜJava -versionまたはjavac -versionが古いJava_HOMEを指し続けているのかを突き止めようとすると頭が痛くなります。たとえば、これらのファイルの名前を変更し、拡張子をアンダースコアで囲みます。そして、Java_HOME変数を作成し、それをパス変数(たとえば%Java_HOME%)に追加して、 "\ bin"パーティクルを追加するだけです。このようにすると、Java_HOMEを設定するだけで、異なるJREまたはJDKを指すJava_HOME変数を変更し、複数のJavaをインストールするだけで済みます。

これは、インストーラを使わずにJavaを手動でインストールする方が良いことを意味します。

0
Camilo