- PR -

コマンドプロンプトで実行するとNoClassDefFoundErroが発生する

1
投稿者投稿内容
ひろし
ぬし
会議室デビュー日: 2002/09/16
投稿数: 390
お住まい・勤務地: 兵庫県
投稿日時: 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
スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2007-11-11 19:48
まずは java コマンドのマニュアルを読みましょう。コマンドラインの書き方が間違ってます。
朝日奈 ありす
ベテラン
会議室デビュー日: 2007/10/28
投稿数: 57
お住まい・勤務地: 北の都
投稿日時: 2007-11-11 20:21
引用:

ひろしさんの書き込み (2007-11-11 19:27) より:
エラーメッセージ
C:data>java Hellow.jar
Exception in thread "main" java.lang.NoClassDefFoundError: Hellow/jar



引用:

★質問1
どのクラスが不足していますか?そのクラスはどこにありますか?


不足はしていません。呼び出し方が間違えています。
jar ファイル内部のclass ファイルの指定方法ではないので、

Hellow.jar が パッケージ「Hellow」のクラスファイル「jar」と誤認しています。

javaのオプションをつかって呼び出す方法を工夫すべきです。

-classpath 設定が面倒であれば、バッチファイルでも作成してください。

引用:

★質問2
質問1のクラスを検索するにはCLASSPATHをどう設定すれば良いでしょうか?
(CLASSPATHでJARファイルに欠けているクラスを検索する方法)


コマンドプロンプトを開く→java実行(オプションクラスをつけずに)そうすれば出てきます。(実際は java -?)

ひろし
ぬし
会議室デビュー日: 2002/09/16
投稿数: 390
お住まい・勤務地: 兵庫県
投稿日時: 2007-11-11 20:53
ご回答ありがとうございます。

解決しました。

C:\data>java -jar Hellow.jar
Hellow World.
C:\data>

私にとってJavaプログラム第一作目でした。
感謝します。
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 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/
ひろし
ぬし
会議室デビュー日: 2002/09/16
投稿数: 390
お住まい・勤務地: 兵庫県
投稿日時: 2007-11-14 13:20
ご回答ありがとうございます。
情報源を教えていただき感謝しています。
1

スキルアップ/キャリアアップ(JOB@IT)