dポイントプレゼントキャンペーン実施中!

こんにちは。
JavaもEclipsも超初心者で学習本を頼りに勉強しています。

簡単なオブジェクトソースを書いてみたのですが、普通にコンパイルすると
「java.lang.NoClassDefFoundError: shohin/java
Exception in thread "main" 」と表示されてしまいます。

mainはオブジェクトソースなんで無いのは正しいとおもうのですが・・・(+_+)

おかしな質問かも知れませんが、よろしくお願いいたします。

A 回答 (3件)

たぶん、実行していますよ?


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

回答ありがとうございます。

コンパイルは実行時にされるのかと勘違いしておりました。
保存時にコンパイルがされていたのですね。

わかったような気がします。
ありがとうございました。

お礼日時:2009/03/14 01:22

一つのクラスだけでも、static mainメソッドがあれば実行可能になります。

逆にmainメソッドがどこにもなければ、今回のような実行時エラーが表示されます。

Eclipseでクラスコードを書いて保存するとコンパイル作業も行われますが、実行はされません。Javaの構文チェックだけが行われます。
実行メニューを選んで、始めてコードが実行されます。
    • good
    • 0
この回答へのお礼

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

保存でコンパイルがされるとは知りませんでした。

あらためて実行してみると正しく作動いたしました。

皆さんありがとうございました。

お礼日時:2009/03/14 20:44

Javaの場合、実行を開始するためのエントリーポイントとして、static mainメソッドが必要になります。

フレームワークなどで隠蔽されている場合がほとんどですが、学習段階で単独で実行されるJavaアプリとしては、mainが必要になります。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。

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

お礼日時:2009/03/12 19:04

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