アプリ版:「スタンプのみでお礼する」機能のリリースについて

javaを独学で勉強しようと思い本を購入いたしました。
インストールしていざjavac ファイル名.javaで実行してもclassファイルが
できません。何度も試してみたのですが(涙)
上記の様に実行してみたら、下記のようなエラーがでます。
エラーの内容が分かりません。
よろしくアドバイスお願い申し上げます。
Exception in thread "main"java long.NoclassDefFoundError;
com/sun/tools/javac/main

A 回答 (9件)

#5の方のお礼のところに


PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\JDK1.3\BIN
とかいてありますが、これではPATHは通りませんよ。 
C:\JDK1.3\BIN ですが、C:JDKの入っているフォルダ名\bin としなければいけません。ご自分のJDKのフォルダ名を見てもらうと分かると思うんですが、jdk1.3.1_02とかになってませんか?これは、ダウンロードする時期によって、JDKも進化しヴァージョンアップするからです。

ちなみに、私のは j2sdk1.4.0_01ですので、パス設定は c:\j2sdk1.4.0_01\bin です。

では、がんばってください。
    • good
    • 0
この回答へのお礼

大変詳しく教えていただきありがとうございます。
早速こちらの方も試してみます。
ありがとうございました。

お礼日時:2002/08/31 20:45

あう。

HogeHoge.javaは例で、実際にはkoronさんの作成したjavaファイルを指定して欲しかったのですが(^^;
ただ、「エラー: HogeHoge.javaを読み込めません」と表示されたということは、NoClassDefFoundErrorにはならず、ちゃんとcom.sun.tools.javac.Mainが実行されています。
なので、C:\jdk1.3\bin\javac とフルパスでコマンドを指定するとうまくいって、javac のみ指定した場合はダメなようですね。
(binフォルダに置くとコンパイルできる、というのはちょっと意味が分かりませんでした。javaファイルはカレントディレクトリにあれば良いはずです)

普通にインストールしただけの場合には考えにくいのですが、どこか別の(無効な)javacにパスが通っていたりはしないでしょうか?
C:\WINDOWSをファイル名"javac.exe"で検索してみるとか。もしヒットしたら、それを削除してください。
    • good
    • 0
この回答へのお礼

アドバイスに感謝しています。
検索してみたら4つくらいjavac.exeありました。
早速削除してみます。
ありがとうございました。

お礼日時:2002/08/31 20:44

javacの実体であるJavaクラス(com.sun.tools.javac.Main)が見つからないと言われてますね。


この場合、CLASSPATHの設定は関係ないと思います。

tools.jarはちゃんと存在しているとのことなので、
> C:\jdk1.3\bin\javac HogeHoge.java
と、フルパスでjavacコマンドを指定した場合にはどうなるでしょうか?
これでもうまくいかない場合、JDKを再インストールすると直ってしまったりするかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速試してみました。
エラー:HogeHoge.javaを読み込めません。
エラー1個と表示されました。
お陰さまで、
binフォルダにjavaファイルをおくとコンパイルがとおりました。
binフォルダだけでなくどこからもコンパイルが通るようにするには
どこを設定すればいいでしょうか?
jdkを再インストールしてもダメでした。
よろしくお願い申し上げます。

お礼日時:2002/08/28 23:37

 初めまして。

Kan-Nagiと申します。
 私も最初、このエラーでつまずきました。

 下記URLが参考になるかと思います。

参考URL:http://www.gimlay.org/~javafaq/S002.html#S002-08
    • good
    • 0
この回答へのお礼

良いHPを教えていただきありがとうございました。
しかし私の場合は少し他の問題っぽいです?

お礼日時:2002/08/28 23:39

こういった場合は、自分の環境を教えてしまうのがいちばんですね。



DOSのコマンドプロンプトを開き、"SET"とタイプしてみてください。
ずらずらと「環境変数」と呼ばれるものが表示されますので、その内容を公開して情報を求めてみてはいかがでしょうか?
    • good
    • 0
この回答へのお礼

アドヴァイスありがとうございます。
早速setで試してみました。
下記でわかりますでしょうか?
よろしくお願い申し上げます。
C:\WINDOWS>set
TMP=C:\WINDOWS\TEMP
TEMP=C:\WINDOWS\TEMP
PROMPT=$p$g
winbootdir=C:\WINDOWS
COMSPEC=C:\WINDOWS\COMMAND.COM
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\JDK1.3\BIN
windir=C:\WINDOWS
BLASTER=A220 I5 D1 T4 P330

お礼日時:2002/08/28 23:45

JDKをインストールしたディレクトリの下に


lib というフォルダがあるはずですが、その下に
tools.jar というファイルはありますか?

何かの操作ミスでそのファイルが削除されていた場合、今回の質問のような現象が起きます。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
lib というフォルダその下に
tools.jar というファイルはありました。
ちなみにOSはWIN98です。
どこが悪いのでしょう?(原因不明)
よろしくお願い申し上げます。

お礼日時:2002/08/26 23:33

カレントディレクトリにクラスパスが通ってないんじゃないでしょうか。



私の場合tcshですが以下のような感じですが最後の「.」がカレントディレクトリを指しています。

setenv CLASSPATH ${JAVA_EXT}/xalan.jar:(中略))${JAVA_EXT}/xerces.jar:.
    • good
    • 0
この回答へのお礼

いろいろありがとうございます。
tcshとは?初心者なので
setenv CLASSPATH ${JAVA_EXT}/xalan.jar:(中略))${JAVA_EXT}/xerces.jar:
の内容が分かりません。
常時カレントディレクトリにクラスパスを指定するにはどうしたらいいのでしょうか?

お礼日時:2002/08/26 23:30

コンパイル時に上記のエラーが出るのは、めずらしいですね。


以下の方法で、タブン出来ると思います。
1度だけ試してください。

まず、DOS画面で「SET CLASSPATH=」と入力します。
それから、コンパイルしてください。これだけです。

なお、DOS画面を閉じるたびに、今の作業は無効になるので、DOS画面を開くたびにやり直してください。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
SET CLASSPATH=javac ファイル名.javaでためしてみました。
しかし同じエラーになりますが?

お礼日時:2002/08/26 23:26

ファイル名の英数字の大小文字は一致していますか?


PATH設定はできていますか?
ファイル名とクラス名が一致していますか?

この3つの内、どれかと思います。
    • good
    • 0
この回答へのお礼

いろいろありがとうございます。再度確認してみました。
ファイル名の英数字の大小文字は一致していますか? 0K
PATH設定はできていますか? 下記のように設定しています。
ファイル名とクラス名が一致していますか? Ok
たぶんpathの設定だと思うのですが?
C:\AUTOEXEC.batの中の最後にpath = c:\jdk1.3\binと指定しています。
javac.exeやjava.exeのあるフォルダがc:\jdk1.3\binです。
しかしどうしてもエラーになるのですが?

お礼日時:2002/08/26 23:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!