0

これはこの質問のフォローアップです

私がやろうとしていること:
CPU情報を取得するためにSigarライブラリを使用するEclipseプロジェクトがあります(とりわけ)。これを行うには、Sigar が動作するライブラリ ファイルが必要です。各 CPU/OS には異なるファイルがあり、それらはすべて利用可能です。これを jar にパックして、他のアプリケーションがライブラリとして使用できるようにする必要があります。

私がやったこと:
利用可能なライブラリファイルをプロジェクトに追加し、そのようにアクセスできます

System.setProperty("org.hyperic.sigar.path",System.class.getResource("/lib").getPath());
System.load(System.class.getResource(getClass().getResource(
    "/lib/libsigar-amd64-linux.so").toString()).getPath());

アプリケーションをスタンドアロン アプリケーションとして実行すると、これらはどちらも機能するようです。jar にパックして他のプロジェクトから実行しようとすると、うまくいきません。ディレクトリやファイルを見ることができません。 これは、考えられる任意のパスでファイルにアクセスしようとした
プロジェクトの構造ですが、すべてが NullPointerException を返しました。
ここに画像の説明を入力

これどうやってするの?一時ファイルを使用していますか? クライアントアプリケーションのハードウェア/OSがわからないため、1つのファイルだけでなくフォルダー全体をロードしたいと思います。

4

0 に答える 0