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

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

ただいまの
回答率

90.46%

  • Java

    16227questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • パス

    23questions

    パス(path)はファイルシステムの場所(階層)を明示したものです。

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

解決済

回答 5

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 2,966

learning_ci

score 15

前提・実現したいこと

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 15:20

    以前(以前pathが通せず、いろいろ試行錯誤していました。私の一つ前の質問がそれです)2回javaをインストールしてしまい、jdk1.8.0_45と同じような名前のファイルが4つ保存されていたので、日付が最新のものだけ残してあとの3つを右クリック→消去で消しました。そのとき消したのにJREが入っていたのですかね...?

    再インストールしたいと思うのですが、今あるjavaはアンインストールしてからのほうがいいですか?

    キャンセル

  • 2016/05/24 16:01

    javaのHPにて、「アンインストールを強く勧める」という記述を見つけました。
    アンインストールするとして、コントロールパネル>プログラムのアンインストール>選択>右クリック>アンインストールですよね?

    ちなみに今コントロールパネル>プログラムのアンインストールには
    Java SE Development Kit8 Update 45 (64-bit)
    Java 8 Update 45 (64-bit)
    Java SE Development Kit 8 Update 91 (64-bit)
    Java 8 Update 91 (64-bit)
    Java 8 Update 77
    の5つがjava関係では入っています。

    キャンセル

  • 2016/05/24 16:05

    ただファイルを置くだけではない「インストール」したものを消す場合は、「右クリック→消去」で消してしまうのは良くありません。このような不整合な状況が発生する要因になり得ます。
    Windowsでは、インストールしたものは"コントロールパネル"→"プログラムと機能"からアンインストールしましょう。

    JREを再インストールすればもう一度javapathの下を書き換えてくれるのではないかと思うのですが、他にも何か問題が無いとは言い切れないので、learning_ciさんの環境で実際にやってみないことには分かりません。

    今あるJavaはアンインストールせず、JDKでないJREだけのJavaをインストールしてみてください。
    JREだけのJavaは、http://java.com/ja/からダウンロードできる方です。
    不要なJREは、Javaインストーラーが「古いJavaを消しますか?」と聞いてくるはずです。

    キャンセル

  • 2016/05/24 16:10

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

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

    Javaに限らず「インストール」したものを消す場合は、プログラムのアンインストールを使うようにしてください。

    キャンセル

  • 2016/05/24 16:12

    連投すみません。
    画像が投稿できないのは、誰かの他の質問でもありましたね。
    もしかするとシステム側の問題かもしれません。

    いっそのこと、回答欄に画像を張ってしまうのはどうでしょうか。

    キャンセル

  • 2016/05/24 19:45

    >JREだけのJavaは、http://java.com/ja/からダウンロードできる方です。
    ありがとうございます。このページに行ってみたのですが、JREの文字がページのどこにも見られず、「同意してインストール」をクリックすると全部インストールされるような気がしました。「同意してインストール」してもいいのでしょうか?

    キャンセル

  • 2016/05/24 19:50

    ここで言っているJavaは、開発者ではない人向けのJavaつまりJava実行環境(JRE: Java Runtime Environment)のことを言っているので、それで問題ありません。

    キャンセル

  • 2016/05/24 19:50

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

    手動で消したものの場所が分からなくなってしまいました。右クリックでjavaを消したらどこに入っているのでしょうか?消すときに「ゴミ箱に移動させますか?」というメッセージがでで「はい」を押したのを覚えているのですが、ゴミ箱が見つかりません。ウィンドウズのマークを押して、出てくる一番下の検索窓に「ゴミ箱」とうっても「見つかりません」とでてしまいます。お忙しい中ド初心者の質問を繰り返してしまいすみません...TT

    キャンセル

  • 2016/05/24 19:54

    「windows7 ごみ箱 ない」などで検索して、対処してみてください。

    キャンセル

  • 2016/05/24 20:00 編集

    >「windows7 ごみ箱 ない」などで検索して、対処してみてください。
    申し訳ありません。検索しますね。

    貼っていただいたリンクからJREをインストールしました。そのとき「古いバージョンのjavaをアンインストールしますか?」のようなメッセージが出てきたので、「はい」をクリックし、アンインストールしました。インストール完了後、動作確認のようなものをクリックすると「正常な状態です」と表示されました。

    さらに手動で消したjavaをアンインストールする必要があるのでしょうか?
    JREを再インストールしたので、もう一度Pathの設定をすればいいのでしょうか?pathは間違っていじると不具合が出ると聞いたので慎重になっています。そのまま、後ろに;とともに今のjava binの場所のコピーを貼りつけるやり方でいいのでしょうか。

    キャンセル

  • 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で質問しよう!

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

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

  • Java

    16227questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • パス

    23questions

    パス(path)はファイルシステムの場所(階層)を明示したものです。