Всем привет
Подскажите плз, зачем нужен java web start? (jnlp файлы)?
Если я правильно понял технологию, то все происходит следующим образом:
1) пользователь кликает на ссылку с jnlp файл.
2) java web start приложение считывает полученный jnlp (который в свою очередь является xml документом, описывающим, где лежит jar файл и где искать main метод)
3) java web start заправшивает jar файл и запускате
целью этой последовательности является jar файл (в котором есть манифест, который указывает где хранится main класс).
Зачем тогда сложности с jnlp, если по ссылке можно сразу отдать jar файл? В jnlp вроде как лежит еще доп информация (автор имя ПО, версия и пр.), но это же все можно положить и в jar файл
- Вопрос задан более трёх лет назад
- 589 просмотров
Комментировать
Решения вопроса 1
Седой и строгий
Web start — это механизм распространения java-приложений. Если давать пользователю просто ссылку на jar-файл, то он его скачает и, вероятно, не будет знать, что с ним делать. А клик по ссылке на jnlp-файл приложение скачивать не будет, он его запустит. А при определённой конфигурации файла, ещё и «установит» программу в систему и создаст на неё ярлыки в нужных местах. Более того, установленная в систему версия будет автоматически обновляться до актуальной версии при наличии связи с сервером, откуда приложение было установлено.
Семён — первая неделя Web Start
Источник: qna.habr.com
Для чего используется «Java Web Start»?
например, я знал, что sparkangels использовал JWS для своего приложения: www.spark-angels.com/. Но я не могу проверить, используют ли они все еще, за прокси.
enguerran 04 янв. 2010, в 15:59
Поделиться:
10 ответов
Лучший ответ
Java Web Start — это как преемник апплетов — он позволяет запускать Java-программы из вашего браузера (хотя в отличие от апплетов, они не запускаются в браузере). Для практического примера см. TopCoder Arena.
Здесь Протокол запуска сети Java (JNLP) — это протокол, определяющий, как должно запускаться приложение Web Start (аналогично HTML-сообщению браузер, как должна отображаться страница).
См. учебники Oracle:
- Урок: Веб-старт
- Развертывание приложения Java Web Start
- Протокол запуска Java Network
danben 04 янв. 2010, в 17:11
Поделиться
Программное обеспечение Java Web Start обеспечивает мощности для запуска полнофункциональных приложений одним щелчком мыши. Пользователи могут загружать и запускать приложений, таких как полный программа электронных таблиц или Интернет чат-клиент, не проходя длительные процедуры установки.
С программным обеспечением Java Web Start, пользователями может запустить приложение Java нажав ссылку на веб-странице. ссылки на Java Network Launch Протокол (JNLP), который инструктирует Программное обеспечение Java Web Start для загрузки, кешем и запустить приложение.
Java Web Start
Для тех из вас, кто работает с .Net, что-то вроде Java Webstart технология ClickOnce.
JuanZe 04 янв. 2010, в 17:46
Поделиться
Java Web Start используется для написания изолированных десктопных приложений, подобных Java-апплетам. Подобно апплетам, их можно запустить из веб-браузера, но они запускаются в их собственном окне, а не в браузере.
Он работает точно так же, как и обычное приложение, но начал с нажатия на веб-страницу вместо загрузки и запуска установщика. Преимуществом является то, что очень легко заставить людей, которые боятся всех предупреждений о безопасности, попробовать ваше приложение. Еще одно преимущество заключается в том, что вам не нужно открывать браузер при запуске приложения. Вы даже можете установить ярлык для своего приложения на рабочий стол пользователя, чтобы он не касался браузера вообще, как только он запускал его в первый раз.
Mark Byers 04 янв. 2010, в 16:09
Поделиться
Сегодня я ищу тот же пример о веб-запуске Java. Я думаю, что эта ссылка будет работать для вас, я использовал ее как новичок.
Как упоминание о программном обеспечении Java Web Start, пользователи могут запустить приложение Java, щелкнув ссылку на веб-странице. Ссылка указывает на файл протокола Java Network Launch Protocol (JNLP), который инструктирует программное обеспечение Java Web Start для загрузки, кэширования и запуска приложения.
Источник: overcoder.net
Руководство по Java Web Start
В этой статье объясняется, что такое Java Web Start (JWS), как настроить его на стороне сервера и как создать простое приложение.
2. Вступление
JWS — это среда выполнения, которая поставляется с Java SE для клиентского веб-браузера и существует с версии Java 5.
С загрузкой файлов JNLP (также известный как Java Network Launch Protocol) с веб-сервера эта среда позволяет нам запускать JAR-пакеты, на которые она ссылается удаленно.
Проще говоря, механизм загружает и запускает классы Java на клиентском компьютере с обычной установкой JRE. Это позволяет также некоторые дополнительные инструкции из Java EE. Однако ограничения безопасности строго применяются JRE клиента, обычно предупреждая пользователя о ненадежных доменах, отсутствии HTTPS и даже неподписанных JAR.
С общего веб-сайта можно загрузить файл JNLP для запуска приложения JWS. После загрузки его можно запустить прямо из ярлыка на рабочем столе или из средства просмотра кэша Java. После этого он загружает и выполняет файлы JAR.
Этот механизм может быть очень полезен для предоставления графического интерфейса, не основанного на веб-технологиях (без HTML), такого как защищенное приложение для передачи файлов, научный калькулятор, защищенная клавиатура, локальный браузер изображений и так далее.
3. Простое приложение JNLP
Хороший подход — написать приложение и упаковать его в файл WAR для обычных веб-серверов. Все, что нам нужно, это написать желаемое приложение (обычно с Swing) и упаковать его в файл JAR. Этот JAR, в свою очередь, должен быть упакован в файл WAR вместе с JNLP, который будет ссылаться, загружать и выполнять классMain своего приложения в обычном режиме.
Нет разницы с обычным веб-приложением, упакованным в файл WAR, за исключением того факта, что нам нужен файл JNLP для включения JWS, как будет показано ниже.
3.1. Java-приложение
Начнем с написания простого Java-приложения:
public class Hello < public static void main(String[] args) < JFrame f = new JFrame(«main»); f.setSize(200, 100); f.setLocationRelativeTo(null); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel(«Hello World»); f.add(label); f.setVisible(true); >>