Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Java  (Прочитано 1106 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн legion_g

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Java
« : 06 Октября 2014, 15:01:13 »
Здравствуйте!

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

java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.1) (7u65-2.5.1-4ubuntu1~0.12.04.2)
OpenJDK Server VM (build 24.65-b04, mixed mode)

В ходе детального анализа вывода javaws - verbose start.jnlp нашел следующее. В нескольких jnlp файлах есть ссылки на дополнительные библиотеки вида:

<jar href="lib/somelib.jar;no_jawaws_cheat">

В ходе парсинга этой строки javaws пытается нормализировать часть somelib.jar;no_jawaws_cheat и в итоге получает somelib.jar%3Bno_jawaws_cheat :

normalizing path /server/lib/somelib.jar;no_jawaws_cheat in http://server:8080/server/lib/somelib.jar;no_jawaws_cheat
server chunk needs to be encoded => server
lib chunk needs to be encoded => lib
somelib.jar;no_jawaws_cheat chunk needs to be encoded => somelib.jar%3Bno_jawaws_cheat
normalizing query null in http://server:8080/server/lib/somelib.jar;no_jawaws_cheat
1 chunks normalized, rejoining url
normalized `/server/lib/jsafeJCEFIPS.jar%3Bno_jawaws_cheat` and `t` in http://server:8080/server/lib/somelib.jar%3Bno_jawaws_cheat

После чего собирает URI и пытается загрузить библиотеку из server/lib/somelib.jar%3Bno_jawaws_cheat, ничего там не находит и вылетает с ошибкой:

JAR http://server:8080/server/lib/somelib.jar;no_jawaws_cheat not found. Continuing.
Activate jar: http://server:8080/server/lib/somelib.jar;no_jawaws_cheat
Activate native: http://server:8080/server/lib/somelib.jar;no_jawaws_cheat
Permission added: (java.io.FilePermission /home/user/.icedtea/cache/8n7et.s2/ourceforge.jnlp.LaunchException: Fatal: Applicatiohn Error: Cannot grant permissions to unsigned jars. Application requested security permissions, but jars are not signed.ttp/server/server/lib/somelib.jar;no_jawaws_cheat read)

   at net.sourceforge.jnlp.runtime.JNLPClassLoader.setSecurity(JNLPClassLoader.java:289)
   at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:209)
   at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClanormalizing path /server/lib

При этом через браузер библиотеку можно загрузить по такой ссылке:
http://server:8080/server/lib/somelib.jar;no_jawaws_cheat

Пробовал менять версии Java, заработало только на Java 8 от Oracle, но там не работают горячие клавиши (пункты выпадающих меню неактивны). Этой программой пользуюсь на работе, Ubuntu (Ubuntu 12.04.5 LTS) установлена только у меня, у других пользователей на Debian и Windows все работает нормально.

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

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: Java
« Ответ #1 : 06 Октября 2014, 17:08:28 »
А Oracle Java 7 не пробовали ставить?
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн legion_g

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Java
« Ответ #2 : 06 Октября 2014, 17:36:25 »
Pilot6,
Честно говоря, не пробовал. И оказалось, что зря. На 7 версии от Oracle заработало:) Спасибо большое)


Но раз уж потратил на это два дня, даже интересно, может кто-нибудь знает, что могло случиться, из-за чего перестала работать OpenJDK,

Оффлайн www777

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2777
    • Просмотр профиля
Re: Java
« Ответ #3 : 07 Октября 2014, 04:26:34 »
Цитировать
Но раз уж потратил на это два дня, даже интересно, может кто-нибудь знает, что могло случиться, из-за чего перестала работать OpenJDK,
Вероятно разработчики сервиса провели обновление, наверное "улучшили" что то, что привело к проблемам совместимости с OpenJDK" а вот то что раньше работало, считайте, что это было везение, я сам сталкивался с подобным, когда работало работало на OpenJDK а потом бац, и только на Oracle Java. И если я прав и в этом случае тоже, то руки бы этим разработчикам поотрывать... Им даже в голову прийти не может то, что есть такой зверь как OpenJDK и что не мешало бы протестировать работу на нём. Но если вы хотите услышать конкретный технический ответ, почему там не работает а тут работает, увы тут я вам подсказать не смогу.
« Последнее редактирование: 07 Октября 2014, 04:28:45 от www777 »

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: Java
« Ответ #4 : 07 Октября 2014, 11:21:27 »
legion_g,
Как раз версия 7 основная. Почему сразу не поставили?
А вообще многое не работает на OpenJDK.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Java
« Ответ #5 : 07 Октября 2014, 17:04:07 »
Как оказывается байт код не такой уж и кросплатформенный. Происходит добавление пары бесполезных(очень часто) фич и удаляется обратная совместимость.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн legion_g

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Java
« Ответ #6 : 15 Октября 2014, 12:33:44 »
Спасибо всем за мнения. Не думаю, что дело в версии Java. Во-первых, у моих коллег наше приложение работает на OpenJDK версий 6 и 7 (системы под управлением Debian). Во-вторых, само приложение уже не поддерживается разработчиком, и его код уже несколько лет не обновляется. Думаю, что проблема связана с дистрибутивом и одним из установленных недавно обновлений.

Pilot6
По поводу того, почему пользовался изначально пакетом от OpenJDK. До того, как возникла необходимость использовать наше приложение, не приходилось сталкиваться с тем, что такое Java, как работает и зачем надо. Как всегда разбираться досконально времени не было, установил первое, что нашел в репозитории, куда-то ткнул, что-то запустил. Вроде заработало, ну и ладно. Разбираться пришлось, когда это дело сломалось. Ну и к лучшему, что сломалось. Новые знания лишними не бывают.

Оффлайн www777

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2777
    • Просмотр профиля
Re: Java
« Ответ #7 : 15 Октября 2014, 15:05:25 »
legion_g,
Ну вообще то, я считаю, что в открытой системе, стоит в начале пробовать использовать открытую реализацию Java, и только если с ней не заработает, что важно для вас, тогда только ставить проприетарный вариант, тем более открытую реализацию проще установить в этой системе. Так что изначально, вполне правильно вы сделали.

 

Страница сгенерирована за 0.053 секунд. Запросов: 26.