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

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

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

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

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

パス

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

Q&A

解決済

5回答

4717閲覧

javaでコンパイルできません。

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

パス

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

0グッド

0クリップ

投稿2016/05/15 09:46

編集2016/05/16 15:13

###前提・実現したいこと
javaでコンパイルしたいです。
使っているパソコンはWindows7、64ビットオペレーティングシステムです。

ここに質問したいことを詳細に書いてください
###発生している問題・エラーメッセージ

「'javac'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

というメッセージが出てコンパイルできません。

###該当のソースコード

javac Test.java

というコードを入力した結果上に書いたエラーメッセージが出ました。

###試したこと
・スペルミスをしてないか確認
→してませんでした。
・ファイル名があっているか確認
→Testという名前で.javaの拡張子なので、合っていました。

・インストールしたjavaのビット数が適切か確認
→パソコンが64ビットなのに対し64ビットのjavaをインストールしていました。

・Path
http://nobuo-create.net/java-beginner-1/
このサイトの通りにpathを設定しました。変数に書き込むときに元の文字を一文字も消さないこと、コンマの後に書き込むことなどは注意してやりました。

しかし気になるのが、3回ほどpathを設定する作業をしたことです。1回目のコンパイルでできなかったのでもう1度pathを設定し、まだコンパイルできなかったのでもう一度pathを設定してしまいました。

###補足情報(言語/FW/ツール等のバージョンなど)
1回目にjavaをインストールしたあと入っている場所が分からなくなり、もういちどインストールしました。結果、コンピュータの中には4つのjavaファイルが出来てしまっていました。そこで最新の日付になっているファイル以外はすべて消去しました。これもまずかったのでしょうか。

ドがつく初心者で、インストールやPathの設定を何度もやってしまい申し訳ありません。ご回答お待ちしております。

【追記】
環境変数をコピーしたところ、以下のようになります。
C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\x64;C:\Program 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\Roxio 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 Files (x86)\Symantec\VIP Access Client;C:\Program Files (x86)\Skype\Phone;C:\Program Files (x86)\Common Files\Adobe\AGL

やはり何度もPathを設定したことでどんどん後ろに書き足されていっているのでしょうか?

また、コントロールパネル>システムで確認したオペレーティングシステムは64ビット、
コントロールパネル>プログラムから確認したjavaも64ビットだったのに上記には(×86)の文字が見えます。
これも何か関係があるのでしょうか?

回答してくださったみなさまありがとうございます。
ひきつづきご回答お待ちしております。

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

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

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

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

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

swordone

2016/05/15 10:10

>そこで最新の日付になっているファイル以外はすべて消去しました。 どうやって削除しました?
退会済みユーザー

退会済みユーザー

2016/05/16 14:43

3つまとめて選択し、右クリック→削除です。 ゴミ箱に移動しますか?というメッセージが出ていたと記憶しています。 ゴミ箱の中に行って消去まではしていません。
guest

回答5

0

以下の方法を試してみてください。
(1)Pathから"C:\ProgramData\Oracle\Java\javapath;"を削除してください。
(2)Pathに"C:\Program Files\Java\jdk1.8.0_45\bin"(←自身のjdkの場所により異なる)を追加してください
(3)コマンドプロンプトを開いているなら一旦再起動してください。

上記の通りにやればjavacと叩くだけで、使用方法が表示されると思いますが。。

投稿2016/05/17 15:05

kentei_syunrai

総合スコア946

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

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

0

JDKはプログラムなので、コントロールパネルの「プログラムのアンインストール」から削除しなくて大丈夫かな…?と思うのですが。
パスを見る限り、JDKのパスが通っていません。すでにコメントにありますが、Javaプログラムのbinフォルダを指定しないといけません。

投稿2016/05/16 16:11

swordone

総合スコア20651

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

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

0

手順としては特に誤りはないと思いますが、気になるのが環境変数 PATH の設定でしょうか

環境変数(PATH)の設定については、コンピュータ共通の設定ではなく、ログインユーザ別の環境変数に設定すると良いです。
もしいろいろと削除された後でしたら、改めてダウンロードをしておきましょう。

Javaのインストールを C:\java8 にて行った場合、Javaコンパイラであるjavacは C:\java8\bin に展開されますので、今後Javaを使うにあたっては次のように環境変数を追加するとよいでしょう。

JAVA_HOME : C:\java8
PATH : %JAVA_HOME%\bin;%PATH%

以上2つの環境変数を追加してOKを押した後にコマンドプロンプトを開くと、環境変数が適用された状態になります。(PCの再起動は不要です。)

java -version

と入力してインストールしたJavaのバージョンを確認してください。
Javaのバージョンが表示されたら、javacも可能です。

投稿2016/05/15 12:54

A-pZ

総合スコア12011

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

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

0

パスを表示させてみて、「javac」が存在するフォルダがこの中に存在するか確認してみたらどうですか?

投稿2016/05/15 10:05

HogeAnimalLover

総合スコア4830

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

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

0

ベストアンサー

こんにちは。

リンク先の説明には記載がないですが、「Pathを通す」作業を行った後、PCを再起動する必要がある筈です。
「3回ほどpathを設定する作業をした」ということですので、Path変数の内容に重複がないことを確認後、PCを再起動してから、再度、javacコマンドでコンパイルしてみてください。

投稿2016/05/15 09:59

Chironian

総合スコア23272

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

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

退会済みユーザー

退会済みユーザー

2016/05/16 15:16 編集

すみません、Pathをもう一回設定後再起動→コンパイルを試みましたが同じエラーメッセージがでました>< >Path変数の内容に重複がないことを確認後、 【追記】にあるようにPath環境変数が大変長いのですが、これは重複しているという事でしょうか?
Chironian

2016/05/16 15:29

確認しました。 特に問題となる重複はないようですが、設定しているPathが間違っていると思います。 > C:\ProgramData\Oracle\Java\javapath; を手で設定されたのですよね? ここはJava関係の設定データが保存されているところで、Javaコンパイラ等がインストールされているところではないです。 リンク先ページの「Pathを通す?」の項目で設定しているサンプルは C:\Program Files\Java\jdk1.7.0_15\bin となっています。 learning_ciさんがインストールしたJDKのバージョンによりjdk1.7.0_15の部分が異なると思います。C:\Program Files\Java\を開けばこれに近い書式のフォルダがある筈です。それに従ったPathを設定し、Windows再起動後 再度試してみてください。
退会済みユーザー

退会済みユーザー

2016/05/17 10:10

ご回答ありがとうございます。 「手で設定した」というのは、自分の手でキーボードに打ち込んだという意味でしょうか? 自分で入力したのではなく、java→binを開いた状態でその場所urlのような、文字の羅列をコピーしました。 そして、環境変数のあとに;をつけて、そのうしろにペーストしました。 Chironian さんの文章を読み違えていたらすみません。取り急ぎそのことを返信させていただきます!
Chironian

2016/05/17 10:57

その操作を「手で設定した」と呼びました。(今回はインストーラ等で設定しているわけではないので、このように表現しました。) > java→binを開いた状態でその場所urlのような、文字の羅列をコピーしました。 操作はそれでよいのですが、開いているのが、java→binではないです。 "C:\ProgramData\Oracle\Java\javapath;"は見ても分かるように"bin"ではないですから。異なるexplorerのウィンドウのアドレスバーをコピーしたということはないでしょうか? 再度、間違いなくJavaのbinフォルダを開いてそのアドレスをコピーして下さい。 その際、最後の文字列が"bin"になっていることを確認して下さい。
退会済みユーザー

退会済みユーザー

2016/05/17 14:48

ありがとうございます。 java→binを開いたことを確認し、最後の文字列が"bin"になっていることを確認いたしました。 その証拠にというか、環境変数を全て選択しコピーしたものを以下に貼りつけておきます。 C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\x64\;C:\Program 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\Roxio 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 Files (x86)\Symantec\VIP Access Client\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\Common Files\Adobe\AGL;C:\Program Files\Java\jdk1.8.0_45\bin コピーしたあと、OKを押し、ウインドウを閉じました。 そして再起動後、コマンドププロンプトに javac Test.java を入力すると(もちろんTest.javaのファイルがあるデスクトップの場所を指定した後にです)、 また同じエラーメッセージが出てしまいました。。。! 何度もすみませんTT
Chironian

2016/05/17 15:15

"C:\Program Files\Java\jdk1.8.0_45\bin"がパスに設定されましたね。本来、これで大丈夫な筈です。 上記フォルダにjavac.exeが存在しているのにも関わらず、> javac[enter]に対して「'javac'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」というエラー・メッセージが出ることはないはずです。 コマンド・プロンプトで、> where javac.exe[Enter]と入力してみてください。 C:\Program Files\Java\jdk1.8.0_45\bin\javac.exe と表示されるはずです。表示されたなら、コマンド入力ミスです。綴り間違い等していないか、よく確認して下さい。 タイプミスもないのに、表示されないならば可能性は2つです。 C:\Program Files\Java\jdk1.8.0_45\bin\javac.exeが存在しない、もしくは、相変わらず何かPath設定をミスしているです。 binフォルダ内にjavac.exeがあることを確認下さい。もし、なければJDKのインストールに失敗しています。
退会済みユーザー

退会済みユーザー

2016/05/19 09:02

ありがとうございます! > where javac.exe[Enter] と入力すると 「情報: 与えられたパターンのファイルが見つかりませんでした。」 というメッセージが出てきました。 さらに、 C:\Program Files\Java\jdk1.8.0_45\bin そ開くと、その中にjavac.exeは存在していました。 しかしそれを開くと一瞬文字列が見えた後勝手にウィンドウが閉じました。 これはJDKのインストールに失敗しているという事なのでしょうか...?
Chironian

2016/05/19 09:21

> 「情報: 与えられたパターンのファイルが見つかりませんでした。」 > C:\Program Files\Java\jdk1.8.0_45\bin > を開くと、その中にjavac.exeは存在していました。 ということは、Pathの設定に失敗している筈です。 > しかしそれを開くと一瞬文字列が見えた後勝手にウィンドウが閉じました。 explorerから起動したのなら、それで正常です。コマンド・プロンプトを起動して、そのフォルダへ移動後javac.exeとすれば何か表示されます。 しかし、何故Path設定に失敗しているのか、思いつきません。 現在もエラー・メッセージは「'javac'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」で間違いないですか? であれば、念のため下記を試みて下さい。 ①Path設定から下記を削除  C:\ProgramData\Oracle\Java\javapath; ②Path設定の最後に;(セミコロン)を追加。①②にて下記をPathへ設定することになります。 C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\x64\;C:\Program 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\Roxio 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 Files (x86)\Symantec\VIP Access Client\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\Common Files\Adobe\AGL;C:\Program Files\Java\jdk1.8.0_45\bin; ③もう一度Windowsを再起動する ④コマンド・プロンプトを起動して、javacしてみる。 それでも「'javac'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」が出るなら、HogeAnimalLoverさんが提案されているように、コマンド・プロンプトで下記コマンドを入力し、log.txtをここに書き込んで見てください。 Path > log.txt
退会済みユーザー

退会済みユーザー

2016/05/19 10:13

PATH=C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\x64\;C:\Program 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\Roxio 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 Files (x86)\Symantec\VIP Access Client\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\Common Files\Adobe\AGL;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\ やってみました。上記のようになりました!
退会済みユーザー

退会済みユーザー

2016/05/19 10:14

あの、書き忘れましたがChironianさんが書いてくださった①②を試してみて、また同じメッセージが出ました。 毎度毎度ありがとうございます...!
Chironian

2016/05/19 12:15

すいません。どうも私の手に負えないようです。 システム環境変数(S)のPathに設定されているものと、ユーザ環境変数(U)のPathに設定されているものが展開・連結されてPath環境変数へ設定されます。 つまり、①②③を行うことで、システム環境変数(S)のPathが変わるはずです。 (C:\ProgramData\Oracle\Java\javapath;がなくなり、C:\Program Files\Java\jdk1.8.0_45\bin;が追加される。) しかし、設定が変わっておらず、最初にlearning_ciさんが質問文へ書かれたままのようにみえます。 その原因として、learning_ciさんが、システム環境変数(S)のPathの設定手順を間違って操作している可能性があります。もしくは、正しく操作しているにも関わらずWindowsに不具合が生じていて無視されてしまう可能性も少し残っていると思います。 前者の場合、learning_ciさんが質問文で提示されたリンク先の説明通りにできていないとすると、後はあれこれ試行錯誤してみるしかないですが、ここは試行錯誤するのは危険な場所です。 後者の場合は、私には対策を思いつきません。申し訳ないです。 どなたかお近くの詳しい人に直接見て貰った方が良いと思います。
退会済みユーザー

退会済みユーザー

2016/05/21 09:06

ありがとうございます! 原因不明ですね... 何回も質問したのに丁寧に付き合ってくださりありがとうございました!
退会済みユーザー

退会済みユーザー

2016/05/21 09:27 編集

たった今原因が分かりました! とても簡単なことでした。 Pathを編集した後、そのウィンドウそのものは「OK」をクリックし閉じていたのですが、 その前のウィンドウ(「システムのプラパティ」のウィンドウ等)を×で閉じていたからだと思います。 そのことに思い至ってすべてのウインドウを「OK」で閉じたあと>javac Test.java[Enter]するとエラーメッセージは出ず、今いるディレクトリだけが表示され、コンパイルに成功していました。 Pathの設定以前のパソコンの使い方みたいな超超基本的なことなのに、すごくややこしくしてしまい、すみません。 でも助かりました、ほんとありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問