Приложения Java Web Start всегда будут запускаться медленнее, чем непосредственно через исполняемый файл java
.Это связано с тем, что Java Web Start делает гораздо больше, чем стандартный java
запуск:
- JWS обращается к сети для загрузки JNLP (и, возможно, JAR-файлов и других ресурсов)
- JWS проверяет свой локальный кэш JAR-файлов, чтобы узнать, может ли он пропустить загрузку JAR-файлов
- JWS потенциально может загружать JAR-файлы по HTTP, если кэш-память пуста или устарела
- JWS проверяет действительность криптографически надежных сигнатур каждой банки
Я думаю, что большая часть этого является неизбежной ценой за дополнительную возможность запуска вашего приложения через Интернетбраузер и обновите ваше приложение практически «бесплатно».
Другая возможность: работает ли ваше приложение с другой виртуальной машиной, когда вы запускаете через веб-запуск, и когда вы запускаете с NetBeans?Вы можете попробовать напечатать:
System.getProperty("java.home")
, чтобы узнать, какая виртуальная машина выполняет текущий выполняемый процесс.
Если это та же виртуальная машина, вы также можете попробовать diffing theСистемные свойства Java между двумя сценариями.Попробуйте распечатать все свойства системы:
System.getProperties().store(System.out, "");
Wireshark можно использовать для диагностики сетевых проблем Java Web Start.
Иногда Java Console и Java Web Start Logging могут быть полезны при диагностике определенных проблем JWS.Вы можете включить эти функции через Панель управления Java :