NoClassDefFoundErrorって何だ?
Raspiにリモート・デスクトップ接続したPC上で、PICのプログラムはC、RaspiのプログラムはJAVAを使って開発しています。現在開発中のSing-A-Ringもこんな感じです。一番上がRaspiのデスクトップで、後ろにNetBeansとMPLAB-Xのウィンドウが隠れています。
JAVA Swingで書いたGUIアプリは、リモート・デスクトップ接続したPCの画面にも表示されるので重宝しています。ただし、JAVAが得意な訳では無いので、Google先生のお世話になることもしばしばです。
今回は、新しくHex関数を使ったところで”NoClassDefFoundError”が起きました。早速、ググってこちら(↓)の説明を見つけました。
java.lang.NoClassDefFoundError
<以下引用>
NoClassDefFoundErrorは、通常のメソッド呼出し、あるいはnew式を使った新しいインスタンスの生成で Java VMまたはクラスローダがクラス定義をロードしようとしたとき、クラス定義が見つからない場合に スローされるものです。
現在実行中のクラスをコンパイルする時点では存在していましたが、その後見つからなくなっている場合などがあります。
ふむ!
どうやら、コンパイル環境にあった”org.apache.commons.codec”が実行環境には見つからなかったようです。Raspi上の実行環境(/opt/samba/bcmlib_for_java/example)を覗いてみると・・・
ビンゴ~、org.apache.commons.codecが有りません。(<==喜んでいる場合ではない)
あれこれ不具合に遭遇しても解決策がすぐに見つかるのは、ネット上に多くの情報が蓄積されているJAVAならではなのかもしれません。