Развернуть веб -апплет Java с сторонними зависимостями

StackOverflow https://stackoverflow.com/questions/3188553

Вопрос

Я сделал Java Applet, который зависит от некоторых сторонних либеров, а также DLL, который называется JNI. Они, очевидно, не будут установлены на компьютерах клиентов. Есть ли в любом случае, чтобы упаковать эти сторонние либеары и внешние DLL в банке моего апплета, чтобы он мог запустить какой -либо клиент с базовой установкой Java?

Это было полезно?

Решение

Использование JNI в веб -приложении является рецептом изжоги, особенно в Windows.

  • Вы, очевидно, не можете развернуть DLL в вашем военном файле, и, вероятно, потребуется заранее запустить отдельный установщик.
  • Вам придется убедиться, что ваш java.library.path правильно настроен, что обычно выполняется настройками на сервере приложений, а не что -то, что можно развернуть в войне.
  • То, как JNI связывает нативный класс с библиотекой, вызовет головные боли загрузчика класса, если вы попытаетесь запустить более одного экземпляра этого веб -приложения. Один из способов обойти это - переместить содержащий файл JAR в общий загрузчик класса (например, общая папка Tomcat), но у него есть свои осложнения.

Другие советы

Есть ли в любом случае, чтобы упаковать эти сторонние либеары

В Eclipse, под свойствами проекта Java (щелчок правой кнопкой мыши), я могу сделать:

 Export... => Export as Runnable JAR

Затем я говорю это упаковать свои зависимости от банки в эту экспортируемую банку. Экспортируемая банка будет иметь все свои зависимости в нее.

Alt Text http://www.ubuntu-pics.de/bild/97131/selection_016_mg6idm.png

Я не эксперт по этой теме, но там находятся Рабочие решения для всех этих проблем. Они могут придать вам головную боль, но некоторые вещи могут быть сделаны только по этим способам (и я совершенно уверен, что ваша проблема с поверкой CSP является одной из них).

Вы можете взглянуть на Откроется от Openoces-project. Анкет Магия происходит в org.openoces.opensign.client.applet.bootstrap.

Я также верю, что Jnlpappletlauncher Решает ту же проблему, но у меня нет опыта с i.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top