Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.07.2014(UTC) Сообщений: 104  Откуда: Москва Сказал(а) «Спасибо»: 24 раз
|
Здравствуйте. Пытаюсь запустить «tls_proxy.jar» под «OpenJDK 11». Дистрибутив брал вот здесь: https://jdk.java.net/java-se-ri/11-MR3Версия Java: Код:openjdk 11.0.0.2 2024-07-02
OpenJDK Runtime Environment 18.9 (build 11.0.0.2+2-2)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.0.2+2-2, mixed mode)
Беру «tls_proxy.jar» из JCP версии «jcp-2.0.41940-A» (также пробовал в JSP «java-csp-5.0.45549-A-56fe5758» - там результат аналогичный). В документации по JCP написано, что для версии Java 11 или выше ничего устанавливать не нужно – «оно само заработает». Но это, конечно, не так :) Если просто запускать из подкаталога с файлами JCP: Код:set JAVA_HOME=C:\_java\jdk-11.0.0.2
%JAVA_HOME%\bin\java -jar tls_proxy.jar 9000
- то оно радостно падает с ошибкой: Код:Exception in thread "main" java.lang.NoClassDefFoundError: ru/CryptoPro/JCP/tools/Platform
at tls_proxy.MainLogger.info(MainLogger.java:44)
at tls_proxy.TLSProxy.main(TLSProxy.java:98)
Caused by: java.lang.ClassNotFoundException: ru.CryptoPro.JCP.tools.Platform
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 2 more
Надо, очевидно, указать правильный «classpath». А так как при запуске jar-файлов ключ «-classpath» игнорируется (равно как и переменная среды «CLASSPATH»), то приходится лезть в «tls_proxy.jar» и там править файл «\META-INF\MANIFEST.MF» - добавлять атрибут: Class-Path: ./JCP.jar ./JCryptoP.jar ./JCPRevCheck.jar ./JCPRevTools.jar ./cpSSL.jar - с этой правкой всё начинает запускаться из подкаталога, где стоит JCP. Вопрос: можно ли добиться запуска «tls_proxy.jar» не изменяя «tls_proxy.jar»? Скопировать куда-то jar-файлы JCP или сделать что-нибудь еще? Можете посоветовать другие варианты решения? Спасибо. С уважением, Константин Ткачук.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 21.11.2010(UTC) Сообщений: 1,124
Сказал(а) «Спасибо»: 7 раз Поблагодарили: 154 раз в 139 постах
|
Сделайте jar-обёртку с (только) манифестом, в атрибуте Class-Path которого будут перечислены все "сторонние" jar-файлы. Там же можно указать и умалчиваемую точку входа.
|
 1 пользователь поблагодарил basid за этот пост.
|
idtks оставлено 11.12.2024(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.07.2014(UTC) Сообщений: 104  Откуда: Москва Сказал(а) «Спасибо»: 24 раз
|
Спасибо, за вариант решения. Но он, боюсь, не очень подходит в нашем случае. Мы проходим сертификацию довольно громоздкого пакета ПО и «tls_proxy.jar» там как отдельная компонента, которую НЕ надо сертифицировать. Появление нового jar-файла вызовет простую реакцию у людей проводящих сертификацию – «надо проводить исследование / оценку влияния / сертификацию». Хотелось бы этого избежать :(
С уважением, Константин Ткачук.
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,223  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 290 раз в 270 постах
|
Добрый день. так попробуйте. команда для линукса Цитата:java -cp ".:*:" tls_proxy.TLSProxy 9000 запускать нужно в директории дистрибутива |
|
 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
|
idtks оставлено 11.12.2024(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.07.2014(UTC) Сообщений: 104  Откуда: Москва Сказал(а) «Спасибо»: 24 раз
|
Спасибо. Запустилось. Даже не знал, что «так можно» :)
С уважением, Константин Ткачук.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close