「NoClassDefFoundError」が。。。
いろいろ基礎から再勉強しなおしていたら。。。
「javaの実行に伴う、NoClassDefFoundErrorの理由」
私の解釈は次の通りで、いろいろテストをして確認してみました。
☆対応策(javac、javaにて、上記エラーが出る場合の対策)
javac、javaをコマンドプロンプト上等にて実行する時に、pathにjdkがインス
トールされているfolderが指し示されているかを確認する。 例えば、コマンド
プロンプト上にて、次のコマンドを投入。
「path」

この際に、環境変数pathに、jdkがインストールされているfolderが指定
されていなければ、システムのプロパティから環境変数(ユーザ、システムどちら
でも結構)Pathを編集する。 その設定方法は、次のサイトに記載されて
います。
☆まとめ
要は、javac、javaという実行ファイルがどこにあるのかを、OS(例えば、
windows)に教えてあげるということ。 なので、classpathである必要はない様
です。
☆補足
にて議論されていた当初の問題とは。
pathにバージョンが異なる2つの実行ファイル「java」が、指し示されていた
(例えば、D:\oracle\ora92\jre\1.4.2\binと、
C:\Program Files\Java\jdk1.5.0_05\bin)。
実行ファイル「javac」では、Javaのversionが、1.5のもの
(C:\Program Files\Java\jdk1.5.0_05\binの直下のjavac)でコンパイル
された。
一方、そのコンパイル結果であるclassファイルは、Javaのversionが、1.4の
もの(環境変数「Path」に、前の方に定義されている
D:\oracle\ora92\jre\1.4.2\bin)で実行された。
他にも、QuickTimeのついての記載もありますが、これはjavaコマンドで
実行する際に、実行対象のclassファイルにて、別のクラスファイルやライブラリ
を呼び出す様に作られたjavaファイルの時に、注意する必要があるという問題
です。 次のサイトに、非常にわかりやすいpathとclasspathの違いが記載
されておりますので参考にされると良いかと思います。
0 件のコメント:
コメントを投稿