Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Автор: Nikita.Mikhailov все JCP библиотеки нужно перенести в WEB-INF/lib А вы их не туда положили? В WEB-INF/lib должен быть JCP (версии А) с нужными зависимостями (BC) и т.д. Отредактировано пользователем 24 августа 2021 г. 12:48:05(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 22.08.2019(UTC) Сообщений: 10
|
А как тогда лицензировать?
Я конечно не эксперементировал, но, думается если я буду собирать приложение с JCP библиотеками с серверной лицензией, оно же не будет работать на локальной машине?
Сейчас JCP библиотеки лежат в отдельной директории и tomcat classloader настроен так чтобы сканировать и загружать классы из этой дирректории. Таким образом я могу иметь отдельный JCP с сервеной лицензией на сервере и JCP с лицензией на рабочее место на локальной машине.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Вы на одной машине используете -Djava.util.prefs.systemRoot=<...> -Djava.util.prefs.userRoot=<...> для того, чтобы задавать разные лицензии для разных случаев? Отредактировано пользователем 24 августа 2021 г. 12:56:45(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 22.08.2019(UTC) Сообщений: 10
|
Нет, первый раз вижу это. Подскажите, пожалуйста, информация об этом есть где-то в документации?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
В документации явно не прописано, но можно поискать в интернете. В *nix работает автоматически: так можно указать место, где хранятся Preferences, отличное от дефолтного. Для Windows (тут Preferences всегда хранятся в реестре) мы тоже добавляли в JCP (чтобы можно было, как в *nix, хранить Preferences в папке). У этих параметров есть особенности - если не ошибаюсь, пути надо задавать так (my_dir - это любая папка): Код:
-Djava.util.prefs.systemRoot=/my_dir/.java
-Djava.util.prefs.userRoot=/my_dir
При этом папки /my_dir/.java/.systemPrefs и /my_dir/.java/.userPrefs должны существовать на момент запуска, иначе при отсутствии .systemPrefs они будут созданы в другом месте по усмотрению jdk (в /etc/.java, в папке jdk и т.п.). Нюансы (если интересно) можно посмотреть в исходном коде open jdk (поиск по java.util.prefs.systemRoot). Отредактировано пользователем 24 августа 2021 г. 13:44:15(UTC)
| Причина: Не указана |
|
1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 21.11.2010(UTC) Сообщений: 1,098
Сказал(а) «Спасибо»: 7 раз Поблагодарили: 151 раз в 136 постах
|
Автор: Nikita.Mikhailov Цитата: Bootstrap classes of your JVM /WEB-INF/classes of your web application /WEB-INF/lib/*.jar of your web application System class loader classes (described above) Common class loader classes (described above) Тоесть классы из /WEB-INF/lib таки грузятся, но в моём случае грузятся не все что нужны. Кроме "грузятся" есть ещё и "область видимости". В сервлет-контейнере ограничена область видимости классов, загруженных в контексте приложения (app/WEB-INF/lib). Контексты развёртываются "в самом конце" загрузки контейнера и могут выгружаться без перезагрузки контейнера в целом. Далеко не всякий класс/jar может работать в таких условиях. Чтобы не иметь проблем - помечайте классы JCP как "предоставляются при работа" (provided, если не ошибаюсь) и отдельно устанавливайте JCP в нужных JRE. Это будет "bootstrap class loader". Или настраивайте CLASSPATH для JCP из скрипта запуска "Котяры" (это будет "system class loader"). Или размещайте JCP в "common class loader" (${CATALINA_BASE}/lib). Два последних варианта, если я правильно понимаю, работают только в JCP 2.0A. В общем - не надо упаковывать в приложение всё, что ему необходимо для работы. Некоторые вещи в таком варианте распространения или вообще не будут работать или не будут работать корректно.
|
2 пользователей поблагодарили basid за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 22.08.2019(UTC) Сообщений: 10
|
Спасибо за развёрнутый комментарий. Пока сделал почти так Цитата:Или размещайте JCP в "common class loader" (${CATALINA_BASE}/lib) Добавил директорию где находятся классы JCP и bouncycastle в catalina.properties в common.loader
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close