com.toptur.sysTray というパッケージに含まれるクラスがあります。システム トレイをロードするだけで、外部パッケージは使用しません。システム トレイをインストールする SysTray オブジェクトを作成します。すべてがうまく構築されます。コマンドラインからアプリケーションを実行でき、systray がインストールされます。しかし、クラス ファイルから jar を作成して実行しようとすると、NoClassDefFoundError が発生します。
パッケージとそのクラス ファイルは jar 内にあり、アプリケーションは ant 外部 jar を使用しません。Javaが提供するクラスだけです。
また、jar から .exe ファイルをビルドすると、エラーなしで再び動作し始めます。
どうすればこれを追跡できますか?
<target name="jar" depends="">
<jar destfile="build/toptur.jar" >
<manifest>
<attribute name="Built-By" value="Toptur"/>
<attribute name="Main-Class" value="gotacan"/>
</manifest>
<fileset dir="build">
<include name="**/*.class"/>
<include name="**/*.png"/>
<exclude name="**/*.jar"/>
</fileset>
</jar>
上記のコードを使用して、ant ターゲットから jar ファイルを作成します。ドライバープログラムはパッケージに含まれていません。gotacan.java にあります
java -jar toptur.jar を使用して実行します
プログラムの残りの部分は機能し、そのパッケージを使用しようとすると例外がスローされるだけです。