SIGAR API を使用してシステム情報を収集しようとしています。ライブラリに sigar.jar を含めた後、Netbeans はsigar-amd64-winnt.dll
見つからないというエラーを出しました。そのファイルをライブラリに追加した後、完全に機能しました。
ここで、実行可能な jar を作成する必要があったため、NetBeans を使用してプロジェクトをビルドしました。Netbeans は .dll ファイルを自動的に削除し、手動で dist フォルダーにコピーした後、私のプログラムは機能しました。現在、Launch4j を使用して exe ファイルを作成しようとしています。実行すると、おそらく Launch4j が .dll ファイルを削除したため、Java 例外がスローされます。
Launch4j が exe ファイルに含まれていることを確認するにはどうすればよいですか?
SOに関する多数の回答を閲覧しましたが、問題を解決できませんでした。以下にいくつか言及しました-
sigar-amd64-winnt.dll ... 参照できない、または .jar にバンドルできない
どんな助けでも大歓迎です..
編集
exe ラッパーをテスト実行すると、Launch4j のログに次の例外が記録されます。
Exception in thread "main" java.lang.NoClassDefFoundError: org/hyperic/sigar/SigarException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.hyperic.sigar.SigarException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 6 more