• ベストアンサー

Eclips でオブジェクトコードのコンパイルエラー

こんにちは。 JavaもEclipsも超初心者で学習本を頼りに勉強しています。 簡単なオブジェクトソースを書いてみたのですが、普通にコンパイルすると 「java.lang.NoClassDefFoundError: shohin/java Exception in thread "main" 」と表示されてしまいます。 mainはオブジェクトソースなんで無いのは正しいとおもうのですが・・・(+_+) おかしな質問かも知れませんが、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • gess9999
  • ベストアンサー率75% (3/4)
回答No.2

たぶん、実行していますよ? Eclipseのコンパイルは保存と同時になされます。(デフォルトだと) コンパイルエラーの原因は、shohinパッケージのjavaというクラスが存在していないことだと思います。 どのようなものを作ったのか、記載するとよりよい回答を得られますよ。

okwv-first
質問者

お礼

回答ありがとうございます。 コンパイルは実行時にされるのかと勘違いしておりました。 保存時にコンパイルがされていたのですね。 わかったような気がします。 ありがとうございました。

その他の回答 (2)

  • henoya
  • ベストアンサー率47% (24/51)
回答No.3

一つのクラスだけでも、static mainメソッドがあれば実行可能になります。逆にmainメソッドがどこにもなければ、今回のような実行時エラーが表示されます。 Eclipseでクラスコードを書いて保存するとコンパイル作業も行われますが、実行はされません。Javaの構文チェックだけが行われます。 実行メニューを選んで、始めてコードが実行されます。

okwv-first
質問者

お礼

回答ありがとうございました。 保存でコンパイルがされるとは知りませんでした。 あらためて実行してみると正しく作動いたしました。 皆さんありがとうございました。

  • henoya
  • ベストアンサー率47% (24/51)
回答No.1

Javaの場合、実行を開始するためのエントリーポイントとして、static mainメソッドが必要になります。フレームワークなどで隠蔽されている場合がほとんどですが、学習段階で単独で実行されるJavaアプリとしては、mainが必要になります。

okwv-first
質問者

お礼

早速の回答ありがとうございました。 オブジェクトコードなので、 mainの含まれていないクラスとそれを呼び出すmainを含むコードの2種類をつくる・・・とおもったのですが・・・?σ(´・д・`)

専門家に質問してみよう