質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.98%

javaでコンパイルは出来ているのですが実行ができません。

解決済

回答 5

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 3,839

learning_ci

score 20

前提・実現したいこと

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を通すときに以下のようにいろいろと試していました。

https://teratail.com/questions/35025

このことがまだ影響しているのでしょうか?

【追記】
・画像を添付しました。
Internet Exproer でC:\ProgramData\Oracle\Java\javapath を開き、javaのプラパティと、他のタブをクリックしたときに出てきたエラーメッセージのスクショです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • learning_ci

    2016/05/24 15:12 編集

    >プロパティのスクリーンショットを載せていただけませんか?

    質問編集画面で<画像のマーク>からスクリーンショットを載せたつもりなのですが、私の方では画像が見えていません。画像見えてますか?

    また、「リンク先」のところをスクショしようとタブを移動しようとすると、昨日と違って次のようなエラーメッセージが出ました(結果として、「リンク先」の表示までたどりつけませんでした)。

    ショートカット エラー
    受け側に指定されたパス名’C:\Program Files\Java\jre1.8.0_91\bin\java.exe’は無効です。パスとファイル名が正しいか確認してください。

    キャンセル

  • swordone

    2016/05/24 15:26

    見えていません。文字数オーバーですかね?

    キャンセル

  • learning_ci

    2016/05/24 15:54

    以下のことをいろいろ試しました。

    ・画像サイズを小さくする
    ・GIFやJPEGなどにし投稿してみる

    しかしどれをやっても画像が出てきません。ごめんなさい。
    ちなみにこの返信欄には画像を添付できるようなボタンがないようなので、質問を編集する画面にて行いました。

    キャンセル

回答 5

checkベストアンサー

0

既に回答がついてしまいましたが...

今のWindowsのJREはインストール時に
C:\ProgramData\Oracle\Java\javapathの下にjava,javaw,javaws(それぞれ.exe)のシンボリックリンクを作るようになっているみたいです。
JREをアンインストールするなどしてリンク先が失われた場合、それが残ってしまうんだと思います。

シンボリックリンクは残っているので、PATH上にjava.exeは見つかるものの、リンク切れになっていて、「java.exeが見つかりません。」となっていると推測します。

javac.exeはJDKにしか入っていないため、JDKの方のパスが有効になり、上手く実行できているのです。

...

情報の追加欄で少しやりとりさせていただきましたが、...\javapathの下のシンボリックリンクがおかしいですね。
tkmtmktさんが書かれているように、リンク先の実体が存在しないようです。JREをアンインストールしたのでしょうか?
JREを再インストールすればそこが解消するかもしれませんが、解消しなければ何か他の(もしかするとWindowsの)問題がある可能性があります。

PATHからC:\ProgramData\Oracle\Java\javapathを取り除いて、JDKのjava.exeだけを使うようにすれば解消すると思いますが、JREをインストールするたびに同じことが発生するかも知れません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/24 20:03

    エクスプローラーのアドレスバーの▼を押すと、その中に「ゴミ箱」がでてきませんか?
    戻すときは、該当フォルダーを右クリックして「元に戻す」をすると消した時の場所に戻してくれます。

    キャンセル

  • 2016/05/24 20:15

    ありがとうございます。無事にゴミ箱から復元できました。
    試しにコンパイルと実行をコマンドプロンプトでやってみたら、無事にプログラムで書いた通り、helloの文字がでてきました。Pathは書き換えなくてよかったみたいです。ありがとうございました!

    キャンセル

  • 2016/05/24 20:22

    解決できて良かったです!

    とりあえず上手く行ったみたいですので、ゴミ箱の古いのは放っておいて良いと思います。
    次回からは直接消さないようにしてください。

    どうしてもプログラムのアンインストールに残ってしまうのが気持ち悪いようでしたら、アンインストールはゴミ箱から戻さなくても実行できたと思いますが、もし上手くいかなければゴミ箱から復活させて実行してみてください。

    キャンセル

0

現象は以下であると推測されます。

  • PATHの先頭にある C:\ProgramData\Oracle\Java\javapath; 内のJava.exeが実行されている
  • C:\ProgramData\Oracle\Java\javapath; 内のJava.exeはシンボリックリンクだが、リンク先の実体が存在しない

PATHに C:\Program Files\Java\jdk1.8.0_45\bin が含まれているので、PATHの先頭にある C:\ProgramData\Oracle\Java\javapath; を削除してみてはどうでしょうか?

あるいは、最新のjdk1.8.0_91をインストールすればシンボリックリンクを修復してくれるかもしれませんので、試してみてはどうでしょうか

【参考】

C:\ProgramData\Oracle\Java\javapath; の内容
フォルダ

シンボリックリンクJava.exeのプロパティ
プロパティ

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/24 20:17

    ご回答ありがとうございました。
    解決いたしました。

    キャンセル

0

環境変数 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ランタイムで実行できるでしょう。
解決に結びつけば幸いです。間違っていたらご容赦ください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/24 20:17

    ご回答ありがとうございました。
    解決いたしました。

    キャンセル

0

※誤ってコメントを投稿してしまいました。

コントロールパネル>プログラムのアンインストール
であっています。
"プログラムと機能"は、コントロールパネルの表示を変えていないと表示されないものでした。

手動で消してしまったものは、念のためアンインストールしておいたほうが良いかも知れません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

既にいろいろ回答があるようですが、
別な解決方法を1つ、

それは、OSをクリーンインストールして最初からやり直す、という手段です。
多分、一番確実かなと思います。(一番時間も掛かると思いますが・・・)

日頃使っているようなPCですと、
いろいろバックアップを取る必要があるかもしれませんが、
最終的な手段として、頭の片隅にでも入れておいてもらえるといいと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/24 20:17

    ご回答ありがとうございました。
    解決いたしました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.98%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る