またまためちゃくちゃ更新をさぼってしまった。
==========(2003/07/21)=========
自分が作ったJavaプログラムをコンパイルして、実行時にNoClassDefFoundErrorで動かない場合、CLASSPATHが設定されているものをコメントにすると、解決する場合がある。これで2件目である。
今回はWindows98 でAutoExec.bat に @SET CLASSPATH=C:¥PROGRA‾1¥PHOTOD‾1.0¥ADOBEC‾1
が入っていた。
これの先頭をREM でコメントにして解決できた。
ただし、コメントにした、今回の場合AdobeのPhotoDeluxに影響が出る可能性は高い。
==========(2003/08/08)=========
USBメモリーの問題がやっと解決した。このところUSBメモリーが調子が悪く、閉口していたがADTECのDataStickとPCIに差すUSB2.0ボードを購入して全てが解決した。
1台目IODataのEasyDisk(EDHG-64M)を購入し順調に稼動していた。
私のメインマシンGoliathのマザーが死んで、中古のマザーボードに変えてから、不運は始まった。USBメモリーのフォルダをあがったり下がったりしているとWindowsXPがダウン(マウスが動かなくなって、あとはリセットするしかない)する。しかたなく別のマシン2000ServerにEasyDiskを差してネットワーク経由で使う有様だった。
ネット経由で使うと面倒なので、2台目メルコのClipDrive(RUF-C64M)を購入した。でもでも現象は同じで、WindowsXPが落ちる。がっくり。このころから、マザーが怪しいと思い始めた。助手のHT君が言うには、USB電源の容量不足ではないか?。
火曜日にUSBメモリーを某所に忘れて帰ってきてしまって、土曜日の講義の教材を持って行くのにこまるので、しかたなく、USB2.0ボードと3台目ADTECのDataStick(AD-UDS128M/U2)を購入した。PCIに差すUSB2.0ボードはマザーの問題や電源容量不足などを回避するためで、結局これが解決のポイントだったと思う。USB2.0ボードを組み込む前にDataStickを直接USBポートに差してみたが、コピーすると、パスがありませんとか、むちゃくちゃであった。
結論:USBメモリー3機種試してあかんかったということは、中古で購入したマザーボードのUSBに問題があったとしか考えられない。
(決してDataStick が良くてEasyDisk やClipDrive があかんと言っているわけではない、マザーとの問題なので)
==========(2003/10/14)=========
自分が作ったJavaプログラムをコンパイルして、実行時に NoClassDefFoundError で動かない場合について、これで3件目である。
今回はWindows2000 でQuickTime をインストールするまでは、Javaのコンパイルや実行がうまくいっていたマシン。
Javaで作成したクラスがカレントのディレクトリにあるのに NoClassDefFoundError で動かない。原因は QuickTime をインストールしたときに、QuickTime が CLASSPATH を勝手に切ったためだった。
全く自分のことしか考えない QuickTime には困ったものだ。QuickTimeは自分がクラスを探す範囲を決めて、自分だけ動くようにする。だからユーザーが自分で作ったクラスを探さなくなって、『ない』というわけであった。
<対策>
マイコンピュータ→右ボタン→プロパティ(R)→詳細設定→環境変数(N)
ここで、[システム環境変数]のところに CLASSPATH があるので、
"C:¥Program Files¥Java¥j2re1.4.1_02¥lib¥ext¥QTJava.zip"
などとなっているのを先頭に2文字
".;C:¥Program
Files¥Java¥j2re1.4.1_02¥lib¥ext¥QTJava.zip" のように追加する。
もし管理権限の問題で[システム環境変数]が触れない場合は
[ユーザー環境変数]に同様のCLASSPATHを追加する。
このページは私kazu が発見したことや思ったことをメモ代わりに書いています、
思い違いや間違いが含まれています。