У меня есть приложение, которое использует jnlp в качестве запуска. Он использует библиотеки Sigar, для которых требуются динамически загруженные собственные библиотеки для кода, специфичного для платформы.JNLP загружает собственные библиотеки Sigar через файл: но не http:
Для отладки этого файла у меня есть два файла JNLP, один из которых ссылается на код, используя файл: urls и другой, используя http: urls. Http urls указывают на localhost apache, который правильно обслуживает файлы. Я могу посмотреть, как JNLP загружает их во время его запуска через журналы apache, поэтому я знаю, что файлы поступают в мое приложение должным образом.
Вот две меток
кодовыхcodebase="file:/Users/siberian/Documents/workspace_mnis/MNIS/localhost/"
href="file:/Users/siberian/Documents/workspace_mnis/MNIS/localhost/minis.jnlp"-->
и кодовых = "HTTP: // локального /" HREF = "HTTP: //localhost/mnis.jnlp"
Если я дважды щелкните файл: версия работает нормально. Если я загружу его через мой браузер, он отлично работает.
Если я дважды щелкните или браузер загрузки 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
Обратите внимание на префикс extra 'lib' и postfix extra '.dylib'.
На форумах Sigar/vmware есть замечания по аналогичным проблемам без каких-либо решений.
Главный вопрос: почему это действует по-другому в файле: context vs http: context?
Также обратите внимание: у меня есть неподписанные и списаны все мои файлы, я не вижу ошибок подписи.
Есть намеки на ответ здесь: Java Webstart with Tibco Native Libs
Но он работает в файле: контекст, который заставляет меня думать, что-то еще не так.
также: Джанеле говорит мне все прекрасно