- - PR -
コマンドプロンプトで実行するとNoClassDefFoundErroが発生する
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-11-11 19:27
【症状】
・JARファイルをコマンドプロンプトで実行するとエラーが発生します。(下記参照) ・Eclipseでは正常に実行できます。("Hellow World."と諸津力されます) エラーメッセージ C:\data>java Hellow.jar Exception in thread "main" java.lang.NoClassDefFoundError: Hellow/jar ★質問1 どのクラスが不足していますか?そのクラスはどこにありますか? ★質問2 質問1のクラスを検索するにはCLASSPATHをどう設定すれば良いでしょうか? (CLASSPATHでJARファイルに欠けているクラスを検索する方法) ★質問3 質問1のクラスをJARファイルに同梱することができますか? (必要なクラスを全てJARファイルに格納し、CLASSPATHを使わない方法) ★質問4 プロジェクトからJARファイルにエクスポートする方法に誤りがあるのでしょうか? 再確認すべきオプションがあれば教えて下さい。 (質問1〜3とは別の原因が可能性として考えられるか) 【疑問点】 ユーザー定義のクラスを使っていないように見えます。System.outはJava標準のライブラリと理解しています。このような場合、CLASSPATHでクラスを検索する必要は無いように思えます。なぜクラスが見つからないのか理解できません。 【ソースコード】 /** * */ package sample_package; public class main { /** * @param args */ public static void main(String[] args) { System.out.print("Hellow World."); } } 【環境】 開発ツール名 インストール位置 ・Eclipse3.3.1 C:\Program Files\eclipse\ (Eclipse3.3.1はフレアデス1.21pt14で日本語化済) ・JRE6up3 C:\Program Files\jre1.6.0_03\ ・JDK6up3 C:\Program Files\jdk1.6.0_03\ ・OS Windows Vista | ||||||||||||
|
投稿日時: 2007-11-11 19:48
まずは java コマンドのマニュアルを読みましょう。コマンドラインの書き方が間違ってます。
| ||||||||||||
|
投稿日時: 2007-11-11 20:21
不足はしていません。呼び出し方が間違えています。 jar ファイル内部のclass ファイルの指定方法ではないので、 Hellow.jar が パッケージ「Hellow」のクラスファイル「jar」と誤認しています。 javaのオプションをつかって呼び出す方法を工夫すべきです。 -classpath 設定が面倒であれば、バッチファイルでも作成してください。
コマンドプロンプトを開く→java実行(オプションクラスをつけずに)そうすれば出てきます。(実際は java -?) | ||||||||||||
|
投稿日時: 2007-11-11 20:53
ご回答ありがとうございます。
解決しました。 C:\data>java -jar Hellow.jar Hellow World. C:\data> 私にとってJavaプログラム第一作目でした。 感謝します。 | ||||||||||||
|
投稿日時: 2007-11-12 08:57
第一作目のJavaプログラムおめでとうございます。
どこからか探して解決したようですが、 今回の件の公式な情報は次の場所です。 http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/windows/java.html これは次の場所からたどれます。 http://java.sun.com/javase/ja/6/docs/ja/index.html ドキュメントの多くは(かなり自然な)日本語訳されていて読みやすいです。 先人が10年以上積み重ねたノウハウもあります。 http://java-house.jp/ml/ | ||||||||||||
|
投稿日時: 2007-11-14 13:20
ご回答ありがとうございます。
情報源を教えていただき感謝しています。 |
1