06/10/24 17:09:09
javaCompiler-0.8 で自作 swt アプリをコンパイルして実行しようとしています。
無事コンパイルでき実行すると、
class.forName() を使っているためか、NoClassDefFoundError になります。
classを動的にロードするための設定が必要なのでしょうか?
exe実行のディレクトリー配下に classファイル(jp\xxx\Test.class)は置いてあります。
CLASSPATHにも指定してみました。
URLリンク(www.shudo.net)
プログラム実行中にClass.forName("クラス名")などとして
クラスファイルのままのクラスをロード・実行することもできます。
その場合、ロードされたクラスはインタプリタで実行されます。
とあります。
エラーメッセージは下記です。
Exception in thread "main" java.lang.NoClassDefFoundError: jp.xxx.Test
at java.lang.Class.initializeClass(Main-win.exe)
at java.lang.Class.initializeClass(Main-win.exe)
at java.lang.Class.forName(Main-win.exe)
Caused by: java.lang.ClassNotFoundException: org.xml.sax.SAXException not found
in gnu.gcj.runtime.SystemClassLoader{urls=[file:.\], parent=gnu.gcj.runtime.Exte
nsionClassLoader{urls=[], parent=null}}
at java.lang.Class.initializeClass(Main-win.exe)
...2 more