альтернатива веб-запуска Java [закрыта]

Мы ищем альтернативу веб-запуску Java, которая эффективно делает то же самое, только лучше реализована. У нас большие проблемы с этим. У нас есть несколько офисов с настольными компьютерами XP, все они немного отличаются друг от друга, и до сих пор лишь немногие работали без серьезной настройки. Проблемы связаны с плохой игрой с настройками прокси-сервера (использование прямого подключения в панели управления Java позволяет ему работать), отказом от запуска, когда установлены такие параметры, как «-Xmx», но работающим нормально, когда они не установлены (пока он не запустится недостаточно памяти) и другие странные проблемы, которые мы не можем исправить.

То, как работает веб-запуск, — это именно то, что нам нужно, т. е. подключение к серверу, на котором установлено приложение, загрузка всего, что было изменено, сохранение кеша jar-файлов и т. д. Другие команды здесь используют «clickonce» для своих приложений C#, и он эффективно выполняет то же самое, но, кажется, меньше проблем.

Я убежден, что мы не единственные, кто столкнулся с этим, но поиск на самом деле не показывает никаких альтернатив. Мы рассмотрели возможность написания локального приложения-заглушки, которое, по сути, представляет собой просто URLClassLoader, который загружает наше приложение по сети на лету, но, к сожалению, это слишком медленно для других офисов. У кого-нибудь есть идеи?

Спасибо

Обновить

Если кому-то интересно, что в итоге произошло, мы дали webstart еще месяц или около того, но продолжали сталкиваться с проблемами, поэтому реализовали собственную версию. По сути, это просто заглушка с загрузчиком классов URL, который вы указываете на веб-сервер. Это ‹ 200 строк кода, и он отлично работает уже несколько месяцев. Это не идеально, но пока кто-то не улучшит веб-запуск, мы будем придерживаться его.

Обновление 2018

Итак, несколько лет спустя я работаю над новым проектом с той же проблемой. На этот раз вместо того, чтобы писать собственную реализацию веб-запуска, мы используем getdown. Мы обнаружили, что это значительное улучшение по сравнению с веб-запуском, и оно работает очень хорошо для нас.


person David    schedule 15.07.2010    source источник
comment
Я думаю, вам следует написать о реальных проблемах, которые у вас есть, так как я считаю, что сейчас вам лучше всего решать их, а не переходить на другую технологию, например сайты обновлений Eclipse.   -  person Thorbjørn Ravn Andersen    schedule 15.07.2010
comment
На данный момент мы просто устраняем проблемы одну за другой, но я подумал, что может быть альтернатива, которая не была бы такой сложной. Однако обнадеживает то, что люди советуют придерживаться веб-запуска, я думаю, это должно работать для некоторых людей.   -  person David    schedule 15.07.2010
comment
Как насчет Java RMI? Создайте приложение с графическим интерфейсом, которое опирается на набор классов, и получите их реализацию удаленно с центрального сервера. По этой теме есть след Java SE.   -  person Martin Andersson    schedule 20.04.2013
comment
@Martin Andersson, вы шутите, используя Java RMI в Интернете? Даже для локальных сетей это неинтересно, поэтому и разработано так много хороших альтернатив.   -  person Diego C Nascimento    schedule 16.09.2013
comment
Мы в одной лодке и пытаемся отказаться от JNLP/JWS. Не очень люблю писать собственный загрузчик, но, возможно, придется. Разочарован, узнав, что вы так и не нашли замену.   -  person Brian Knoblauch    schedule 31.10.2013


Ответы (5)


Моя компания также испытывает проблемы с веб-запуском, особенно с обновлениями JRE 1.6 19 и 20. Наши проблемы связаны с предупреждением о безопасности Mixed Code. (все правильно подписано и проблема прерывистая)

Как бы то ни было, я наткнулся на getdown by threerings. Я еще не пробовал, но кажется многообещающим https://github.com/threerings/getdown/wiki

person squaat    schedule 22.07.2010
comment
Мы тоже только что наткнулись на это, скрестим пальцы, это то, что мы ищем. Также обнадеживает то, что threerings начали с веб-запуска и в конце концов сдались и написали альтернативу. - person David; 26.07.2010
comment
Проблема смешанного кода действительно раздражает. - person Thorbjørn Ravn Andersen; 18.07.2011
comment
Я знаю, что около JDK1.6_20 или около того была обнаружена серьезная ошибка Twitter, которая привела к изменению SSL в JDK. Я не помню подробностей, но если я правильно помню, это может быть связано с проверкой сертификата или проверкой имени хоста. Я думаю, если вы просмотрите примечания к выпуску, вы можете найти что-то, что даст вам подсказку. - person djangofan; 22.06.2012

Я широко использую JWS в своей компании. ЕДИНСТВЕННАЯ реальная проблема, которую я видел с JWS, возникает только тогда, когда вы пытаетесь запустить JWS из кеша, И ваш клиентский компьютер только что обновился до более новой версии Java. Приложение не запустится с ошибкой «Невозможно запустить», «Кэш-файл не найден» или чем-то подобным.

Есть два способа, которые я использую для решения этой проблемы: я либо очищаю кеш и заставляю их переустанавливать приложение, либо я просто заставляю их снова щелкнуть URL-адрес с моего веб-сайта (самый простой для моих пользователей). В обоих случаях проблема решается сама собой. Это объясняет, почему некоторые разработчики здесь никогда не видят этой проблемы, скорее всего потому, что их пользователи всегда нажимают на URL-адрес, а не на установленный модуль запуска.

В качестве обходного пути и в некоторых из моих критически важных приложений я использую внутри скрипта одно из следующих действий:

java -jar netx.jar -jnlp http://url/to/my/launch.jnlp

or

javaws http://url/to/my/launch.jnlp

где netx — сторонняя библиотека.

Это не самое красивое решение, но для меня они работают в 100% случаев.

Теперь, если бы я только мог понять, как заставить ярлыки на рабочем столе не попасть в ад... но это обсуждение в другой раз.

person Edgar Hilton    schedule 20.06.2011
comment
Достаточно ли у вас опыта работы с netx, чтобы дать ему оценку? - person Thorbjørn Ravn Andersen; 18.07.2011
comment
Похоже, что от NetX отказались примерно в 2013 году. - person Stephen M -on strike-; 20.07.2018

Я нахожу все ваши проблемы довольно странными. Я работал в течение определенного времени в компании, распространяющей свое торговое программное обеспечение с использованием JWS, и это всегда работало очень хорошо. Не рассматривали ли вы возможность ознакомиться с неофициальным часто задаваемым вопросом по веб-запуску Java, прежде чем отказываться от всей технологии?

person Riduidel    schedule 15.07.2010
comment
Возможно, стоит заключить контракт на поддержку... (Раскрытие информации: я работаю в Oracle.) - person Tom Hawtin - tackline; 15.07.2010
comment
Примечание. Связанный FAQ очень старый. В Java 6 update 10 от Sun был проведен капитальный ремонт JWS. - person Thorbjørn Ravn Andersen; 15.07.2010
comment
Мы использовали часто задаваемые вопросы и используем обновление 20 Java 6, чтобы иметь все новые улучшения. Проблема в том, что есть так много проблем, и их не должно быть, это должно быть довольно прямолинейно. Выбор состоял в том, чтобы продолжать исправлять проблемы одну за другой, как мы это делали, не зная, как долго это будет продолжаться, или отказаться от технологии и заняться чем-то другим. - person David; 15.07.2010
comment
@ Дэйв, какие проблемы ты видел? - person Thorbjørn Ravn Andersen; 18.07.2011
comment
Торбьорн, что вы думаете об этом часто задаваемые вопросы? - person Martin Andersson; 20.04.2013
comment
@MartinAndersson тоже кажется довольно старым. Упоминания поддерживаемых платформ: Sun Microsystems предоставляет версии для Windows 95/98/NT/2000, операционной среды Solaris (версии SPARC и Intel) и Linux/i486. Macintosh предоставляет версию для своего выпуска OS X.... - person Thorbjørn Ravn Andersen; 29.07.2013
comment
Я обнаружил ряд проблем с JNLP за эти годы и, наконец, достиг своего предела терпимости к нему. Между проблемой кэширования, когда новые обновления могут перезаписывать запущенные программы, нарушением передачи параметров (7U45) и устареванием самозаверяющих сертификатов, мне было достаточно. :-) - person Brian Knoblauch; 24.10.2013
comment
@BrianKnoblauch, а что ты выбрал вместо него? - person Thorbjørn Ravn Andersen; 13.01.2014
comment
Поскольку это для внутреннего использования, мы придерживаемся старой школы и предоставляем общий доступ к файлам, копию которого люди могут перетаскивать на свой рабочий стол, а затем сценарии для его выполнения различными способами, которые параметры JNLP использовались ранее. Это уродливо, это неуклюже, но больше нет ошибок сертификата, а время запуска значительно сокращено по сравнению с JNLP. - person Brian Knoblauch; 13.01.2014

мы также часто используем JWS, и примерно с 1-6_19 это действительно стало проблемой. Некоторые приложения запускались 1-6_19, другие нет, потом мы обновились до 1-6_20, и все было как бы наоборот. Потом обновление до 1-6_21/2/3/4 и проблемы только меняются. Мы можем сдаться. Похоже, что команда разработчиков с момента прихода к власти Oracle изменилась. В противном случае нет другого объяснения тому, почему JWS становится хуже, чем лучше.

person Rob    schedule 23.02.2011

GetDown тоже кажется ненадежным. Я только что попробовал некоторые игровые сайты, которые они рекламируют в качестве примеров в действии. Все они не смогли загрузиться в моем Firefox. Может быть, виновата моя интеграция Java с Firefox? У меня установлена ​​32-разрядная версия JRE 7 после 64-разрядной версии JDK 1.6.

Как правило, проблемы с веб-запуском и плохое взаимодействие с пользователем во многих случаях связаны со способом установки Java на компьютере пользователя. В Windows я заметил, что если вы устанавливаете более старую версию Java после более новой (ожидая, что обе будут сосуществовать), у меня начинаются проблемы с запуском апплетов и приложений WS.

person Faustas    schedule 01.08.2013
comment
Я согласен с тобой. Мне никогда не удавалось установить программное обеспечение с помощью GetDown. Он не делает того, на что претендует. Он не работает даже с одним JDK, установленным в системе. - person gouessej; 10.01.2018