質問: ### 前提・実現したいこと javaについてです。 コンパイルは出来たのですが、実行ができません。 使っているパソコンはWindows7、64ビットオペレーティングシステムです。 ### 発生している問題・エラーメッセージ ``` C:\ProgramData\Oracle\Java\javapath\java.exeが見つかりません。 ``` ### 該当のソースコード ``` C:\Users\chika>cd C:\Users\chika\desktop C:\Users\chika\Desktop>javac Test.java C:\Users\chika\Desktop>java Test ファイル C:\ProgramData\Oracle\Java\javapath\java.exe が見つかりません。 ``` ### 試したこと 1 Pathが通っているか確認 C:\Users\chika\Desktop>path PATH=C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Window s Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System 32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stac k\sys\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\x64\;C:\Progra m Files (x86)\Intel\Services\IPT\;C:\Program Files (x86)\Windows Live\Shared;c:\ Program Files (x86)\Common Files\Roxio Shared\DLLShared\;c:\Program Files (x86)\ Common Files\Roxio Shared\OEM\DLLShared\;c:\Program Files (x86)\Common Files\Rox io Shared\OEM\DLLShared\;c:\Program Files (x86)\Common Files\Roxio Shared\OEM\12 .0\DLLShared\;c:\Program Files (x86)\Roxio 2010\OEM\AudioCore\;C:\Program Files\ Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program F iles (x86)\Symantec\VIP Access Client\;C:\Program Files (x86)\Skype\Phone\;C:\Pr ogram Files (x86)\Common Files\Adobe\AGL;C:\Program Files\Java\jdk1.8.0_45\bin;C :\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessComm on\ このようになり、Program Files\Java\jdk1.8.0_45\binの文字列が見られたので、Pathが通ってるっぽいと推測し2を試しました。 2 Java.exeの確認 binファイルの中にjavaという名前で拡張子が.exeのファイルがありました。 ### 補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報 Pathを通すときに以下のようにいろいろと試していました。 このことがまだ影響しているのでしょうか? 【追記】 ・画像を添付しました。 Internet Exproer でC:\ProgramData\Oracle\Java\javapath を開き、javaのプラパティと、他のタブをクリックしたときに出てきたエラーメッセージのスクショです。
回答: 環境変数 PATH を見た限りでは、C:\ProgramData\Oracle\Java\javapath へは通していますが、実はこのパスに存在するjava.exe , javaw.exe , javaws.exe はそれぞれ C:\Program Files\Java\インストールしているJREのバージョン(例えばjre1.8.0_65)\bin\ 以下に存在する同名のexeファイルへのショートカット(SYMLINK)です。 このため、javacを実行しているときのPATHは、おそらくインストール&PATHを通している方のJavaコンパイラを使えているのですが、javaの実行に関しては先に見つかった、先のショートカットのexeを探しに行って、見つからないとなっているのではないかと思います。 対策としては、既存の環境変数 PATH に書かれているOracle\java\javapath よりも手前に、ご自分で導入したJavaのSDKのパスが先に来ればよいので、次のような環境変数設定が一番良いかと思料します。 環境変数 JAVA_HOME : インストール対象のJDKのパス ( 例:D:\Pleiades\java\8 ) 環境変数 PATH : %JAVA_HOME%\bin;%PATH% これを適用することで、java実行時はJAVA_HOME\binで指定したJavaランタイムで実行できるでしょう。 解決に結びつけば幸いです。間違っていたらご容赦ください。