- ベストアンサー
Eclips でオブジェクトコードのコンパイルエラー
こんにちは。 JavaもEclipsも超初心者で学習本を頼りに勉強しています。 簡単なオブジェクトソースを書いてみたのですが、普通にコンパイルすると 「java.lang.NoClassDefFoundError: shohin/java Exception in thread "main" 」と表示されてしまいます。 mainはオブジェクトソースなんで無いのは正しいとおもうのですが・・・(+_+) おかしな質問かも知れませんが、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
たぶん、実行していますよ? Eclipseのコンパイルは保存と同時になされます。(デフォルトだと) コンパイルエラーの原因は、shohinパッケージのjavaというクラスが存在していないことだと思います。 どのようなものを作ったのか、記載するとよりよい回答を得られますよ。
その他の回答 (2)
- henoya
- ベストアンサー率47% (24/51)
一つのクラスだけでも、static mainメソッドがあれば実行可能になります。逆にmainメソッドがどこにもなければ、今回のような実行時エラーが表示されます。 Eclipseでクラスコードを書いて保存するとコンパイル作業も行われますが、実行はされません。Javaの構文チェックだけが行われます。 実行メニューを選んで、始めてコードが実行されます。
お礼
回答ありがとうございました。 保存でコンパイルがされるとは知りませんでした。 あらためて実行してみると正しく作動いたしました。 皆さんありがとうございました。
- henoya
- ベストアンサー率47% (24/51)
Javaの場合、実行を開始するためのエントリーポイントとして、static mainメソッドが必要になります。フレームワークなどで隠蔽されている場合がほとんどですが、学習段階で単独で実行されるJavaアプリとしては、mainが必要になります。
お礼
早速の回答ありがとうございました。 オブジェクトコードなので、 mainの含まれていないクラスとそれを呼び出すmainを含むコードの2種類をつくる・・・とおもったのですが・・・?σ(´・д・`)
お礼
回答ありがとうございます。 コンパイルは実行時にされるのかと勘違いしておりました。 保存時にコンパイルがされていたのですね。 わかったような気がします。 ありがとうございました。