Я работаю над существующим проектом, который нацелен на обновление с java6 на java8, но когда я развертываю всю свою банку на сервер, он отлично работает, если клиентская машина запущена в java6. но для java8, он не запущен в JNLP которая причинилаОшибка Jnlp Java Web Start: java.lang.NoClassDefFoundError:
#### Java Web Start Error:
#### java.lang.NoClassDefFoundError:org/springframework/context/ApplicationContext
После поиска в Google, я узнать некоторые правила о том, как использовать файл манифеста.
Я стараюсь, чтобы подписать всю банку с
jarsigner -keystore myKeys -storepass changeit XXXX.jar
и экспортировать MyKeys как файл Серф, а затем импортировать на компьютер клиента, то он может успешный запуск в JRE6 даже не задавая вопрос.
Но для Java8, он не в состоянии запустить с классом не найдены даже Серф импортируется, и я обнаружил, что это может быть, я пропускаю некоторые атрибуты безопасности моей баночке Тогда я следую за этот пост, добавив поле http://www.captaincasademo.com/forum/posts/list/1988.page
attribute name="Permissions" value="all-permissions
attribute name="Codebase" value="*"
attribute name="Application-Library-Allowable-Codebase"value="*"
attribute name="Caller-Allowable-Codebase" value="*"
attribute name="Trusted-Only" value="true"
attribute name="Trusted-Library" value="true"
мой проект на самом деле выглядеть в этой структуре
/lib/spring.jar
/lib/commons.jar
/lib/xxxCommon.jar
client.jnlp(herf to xxxClient.jar)
xxxClient.jar
Я почти проверить всю картину в этом файле манифеста, такие как xxxClient.jar с доверенной-LiBr ичных правда /lib/spring.jar с доверяющей библиотекой истинного или xxxClient.jar со всеми разрешениями- /lib/spring.jar с доверенной библиотекой верно или я даже удалить все атрибуты безопасности. И это не удается классу, который не найден.
Я знаю, что причина (из другого сообщения), потому что доверенная библиотека и ненадежная библиотека загружается разным загрузчиком классов, поэтому, если spring.jar является ненадежным, он будет молча игнорировать.
Даже я отмечаю xxxClient.jar (мой проект jar) с/not с доверенной библиотекой или spring.jar доверенной/не проверенной библиотекой, все они не работают с таким же классом операторов.
Благодаря я работаю на обслуживание долга, я не могу изменить, как Class.forName(), Class.getResource(), которые приходят из http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html
является то, что любой способ, которым я могу обновить успеха от JRE6 для JRE8 без изменений кода? Большое спасибо
Кстати, атрибут манифеста jar добавлен муравьем, как и предыдущий код и сторонняя банка (spring.jar). Я применяю jar -ucf для обновления внутреннего файла манифеста.
Большое спасибо !!!