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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

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

パス

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

Q&A

解決済

5回答

11131閲覧

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

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

パス

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

0グッド

1クリップ

投稿2016/05/23 12:18

編集2016/05/24 06:01

###前提・実現したいこと
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のプラパティと、他のタブをクリックしたときに出てきたエラーメッセージのスクショです。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

argius

2016/05/23 12:24

C:\ProgramData\Oracle\Java\javapath をエクスプローラーで開くと、何か入っていますか?
退会済みユーザー

退会済みユーザー

2016/05/23 12:26

ご回答ありがとうございます。 java javaw javaws の3つが入っていました!
argius

2016/05/23 12:29

java.exeを右クリックしてプロパティーを開き、リンク先というところの記述を見てください。"C:\Program Files\Java\jre1.8.0_xx\bin"のような文字列があると思います。そのフォルダーは実際に存在しますか?
退会済みユーザー

退会済みユーザー

2016/05/23 12:33

すみません、java.exe > プロパティを開いたのですが、「リンク先」ってどこにありますか? 上のタブは「全般」「互換性」「デジタル署名」「セキュリティ」「詳細」「以前のバージョン」の6つになっています。6つ全部を見てみましたが「リンク先」が見つかりませんでした。
argius

2016/05/23 12:37

「ショートカット」タブの真ん中よりちょっと上あたりです。「ショートカット」タブが無いとなると、何か異常な状態になっているのかも知れません。一旦この情報で回答書いてみますね。
退会済みユーザー

退会済みユーザー

2016/05/23 12:39

上記は、コンピューター>ローカルディスク・・・JavaからJava.exeを右クリックした場合です。 先ほど書いてくださったようにエクスプローラーでC:\ProgramData\Oracle\Java\javapathを開き、そこにあったJavaを右クリック>プラパティをクリック すると、やはり「リンク先」は見つかりませんでした。 ただし、「共有」タブにて「javapath 共有されていません」や「ネットワークパス(N):共有されていません」などの表示を見つけました。(関係なかったらごめんなさい)
argius

2016/05/23 12:43

やはり何か変ですね。ついでなので、もう1つ確認お願いします。"C:\Program Files\Java"の下に何かフォルダーはありますか?
swordone

2016/05/23 14:13

プロパティのスクリーンショットを載せていただけませんか?
退会済みユーザー

退会済みユーザー

2016/05/24 05:56

>"C:\Program Files\Java"の下に何かフォルダーはありますか? あります。jdk1.8.0_45がその下にあり、さらにその下にはbinなどたくさんのファイル・フォルダがあります。
退会済みユーザー

退会済みユーザー

2016/05/24 06:13 編集

>プロパティのスクリーンショットを載せていただけませんか? 質問編集画面で<画像のマーク>からスクリーンショットを載せたつもりなのですが、私の方では画像が見えていません。画像見えてますか? また、「リンク先」のところをスクショしようとタブを移動しようとすると、昨日と違って次のようなエラーメッセージが出ました(結果として、「リンク先」の表示までたどりつけませんでした)。 ショートカット エラー 受け側に指定されたパス名’C:\Program Files\Java\jre1.8.0_91\bin\java.exe’は無効です。パスとファイル名が正しいか確認してください。
swordone

2016/05/24 06:26

見えていません。文字数オーバーですかね?
退会済みユーザー

退会済みユーザー

2016/05/24 06:54

以下のことをいろいろ試しました。 ・画像サイズを小さくする ・GIFやJPEGなどにし投稿してみる しかしどれをやっても画像が出てきません。ごめんなさい。 ちなみにこの返信欄には画像を添付できるようなボタンがないようなので、質問を編集する画面にて行いました。
guest

回答5

0

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

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

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

投稿2016/05/24 07:59

abs123

総合スコア1280

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/05/24 11:17

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

0

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

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

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

投稿2016/05/24 07:08

編集2016/05/24 07:09
argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

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/23 23:52

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/05/24 06:20

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

退会済みユーザー

2016/05/24 07: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関係では入っています。
argius

2016/05/24 07:05

ただファイルを置くだけではない「インストール」したものを消す場合は、「右クリック→消去」で消してしまうのは良くありません。このような不整合な状況が発生する要因になり得ます。 Windowsでは、インストールしたものは"コントロールパネル"→"プログラムと機能"からアンインストールしましょう。 JREを再インストールすればもう一度javapathの下を書き換えてくれるのではないかと思うのですが、他にも何か問題が無いとは言い切れないので、learning_ciさんの環境で実際にやってみないことには分かりません。 今あるJavaはアンインストールせず、JDKでないJREだけのJavaをインストールしてみてください。 JREだけのJavaは、http://java.com/ja/からダウンロードできる方です。 不要なJREは、Javaインストーラーが「古いJavaを消しますか?」と聞いてくるはずです。
argius

2016/05/24 07:10

コントロールパネル>プログラムのアンインストール であっています。 "プログラムと機能"は、コントロールパネルの表示を変えていないと表示されないものでした。 手動で消してしまったものは、念のためアンインストールしておいたほうが良いかも知れません。 Javaに限らず「インストール」したものを消す場合は、プログラムのアンインストールを使うようにしてください。
argius

2016/05/24 07:12

連投すみません。 画像が投稿できないのは、誰かの他の質問でもありましたね。 もしかするとシステム側の問題かもしれません。 いっそのこと、回答欄に画像を張ってしまうのはどうでしょうか。
退会済みユーザー

退会済みユーザー

2016/05/24 10:45

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

2016/05/24 10:50

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

退会済みユーザー

2016/05/24 10:50

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

2016/05/24 10:54

「windows7 ごみ箱 ない」などで検索して、対処してみてください。
退会済みユーザー

退会済みユーザー

2016/05/24 11:02 編集

>「windows7 ごみ箱 ない」などで検索して、対処してみてください。 申し訳ありません。検索しますね。 貼っていただいたリンクからJREをインストールしました。そのとき「古いバージョンのjavaをアンインストールしますか?」のようなメッセージが出てきたので、「はい」をクリックし、アンインストールしました。インストール完了後、動作確認のようなものをクリックすると「正常な状態です」と表示されました。 さらに手動で消したjavaをアンインストールする必要があるのでしょうか? JREを再インストールしたので、もう一度Pathの設定をすればいいのでしょうか?pathは間違っていじると不具合が出ると聞いたので慎重になっています。そのまま、後ろに;とともに今のjava binの場所のコピーを貼りつけるやり方でいいのでしょうか。
argius

2016/05/24 11:03

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

退会済みユーザー

2016/05/24 11:15

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

2016/05/24 11:22

解決できて良かったです! とりあえず上手く行ったみたいですので、ゴミ箱の古いのは放っておいて良いと思います。 次回からは直接消さないようにしてください。 どうしてもプログラムのアンインストールに残ってしまうのが気持ち悪いようでしたら、アンインストールはゴミ箱から戻さなくても実行できたと思いますが、もし上手くいかなければゴミ箱から復活させて実行してみてください。
guest

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/23 15:26

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/05/24 11:17

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

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/23 15:17

編集2016/05/23 15:22
tkmtmkt

総合スコア1800

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/05/24 11:17

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問