jnlp をランチャーとして使用するアプリがあります。プラットフォーム固有のコード用に動的にロードされるネイティブ ライブラリを必要とする Sigar ライブラリを使用します。
これをデバッグするために、2 つの JNLP ファイルがあります。1 つは file: urls を使用してコードベースを参照し、もう 1 つは http: urls を使用して参照します。http url は、ファイルを適切に提供している localhost apache を指しています。JNLP が起動シーケンス中にそれらをダウンロードする様子を apache ログで確認できるので、ファイルがアプリに適切に到達していることがわかります。
これが2つのコードベースタグです
codebase="file:/Users/siberian/Documents/workspace_mnis/MNIS/localhost/"
href="file:/Users/siberian/Documents/workspace_mnis/MNIS/localhost/minis.jnlp"-->
および codebase="http://localhost/" href="http://localhost/mnis.jnlp"
file: version をダブルクリックすると、正常に動作します。ブラウザ経由でロードすると、正常に動作します。
http: バージョンをダブルクリックまたはブラウザでロードすると、動的ライブラリが見つからず、次のエラーが表示されます。
JNLPClassLoader: Finding library liblibsigar-universal64-macosx.dylib.dylib
[AWT-EventQueue-0] DEBUG Sigar - no libsigar-universal64-macosx.dylib in java.library.path
org.hyperic.sigar.SigarException: no libsigar-universal64-macosx.dylib in java.library.path
ここで興味深いのは、liblibsigar-universal64-macosx.dylib.dylib が見つからないというファイルです。
プレフィックス エクストラ 'lib' とポストフィックス エクストラ '.dylib' に注意してください。
Sigar/vmware フォーラムには、解決策のない同様の問題に関するメモがあります。
中心的な問題は、なぜこれが file: context と http: context で異なる動作をするのかということです。
また、すべてのファイルの署名を解除して辞任したことにも注意してください。署名エラーは見られません。
ここに答えのヒントがあります: Java Webstart with Tibco Native Libs
しかし、それは file: context で機能します。これにより、何か他のことが間違っていると思います。
また: JaNeLa は私にすべて問題ないと言っています