Ring 1С - как скрыть предупреждение "Незаконный рефлексивный доступ" в Java 11

08.09.22

База данных - Администрирование СУБД

Как скрыть сообщение "WARNING: An illegal reflective access operation has occurred...." при использовании ring license list последней версии.

После установки "Утилиты лицензирования 1С:Предприятия (1C:Enterprise License Tools)" версии 0.15.0.2 на своем компьютере, с целью рашифровки файлов программных ключей 1С, при запуске команды: 

ring license list --path C:\keys1C

появилось предупреждение на целых 7 строк,

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/C:/Program%20Files/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/lib/compat-0.11/guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

что есть незаконный доступ к внутреннему модулю java, и что этот доступ будет закрыт в будущих версиях. Как я понял, особенность реализации Java 11 для защиты целостности кода. Но это предупреждение очень раздражало, поэтому погуглив несколько часов, так ничего понятного мне не нашел, однако вариант решения определенно был. Решение оказалось достаточно простым,  вероятно пострадает безопасность Java 11, но так как в Java не программирую, и необходима только узкая задача по вытаскиванию информации из файлов программных лицензий 1С, то не критично.

В файле:

С:\Program Files\1C\1CE\components\1c-enterprise-ring-0.19.5+12-x86_64\ring.cmd, немного изменяем 63 строку кода, добавляем "--add-opens java.base/java.lang=ALL-UNNAMED", было:

62    if %%v GEQ 11 (
63        set CODEPATH=-p "%SCRIPT_DIR%\lib\boot" --add-modules=ALL-MODULE-PATH --add-opens java.base/java.lang=com.e1c.ring.cli.boot.jpms

стало:

62    if %%v GEQ 11 (
63        set CODEPATH=-p "%SCRIPT_DIR%\lib\boot" --add-modules=ALL-MODULE-PATH --add-opens java.base/java.lang=com.e1c.ring.cli.boot.jpms --add-opens java.base/java.lang=ALL-UNNAMED

После такой правки командного файла, предупреждения больше не беспокоят. ))

ring утилита лицензирование

См. также

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

Пользовался ранее https://infostart.ru/1c/articles/1120161/#, но она устарела, т.к. службы запускаются через systemctl, да и сами службы слегка изменились. Возможно, где-то на ИТС уже есть нужная инструкция, но мне не попалась.

15.11.2024    301    Baser    2    

1

HighLoad оптимизация Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Россия Бесплатно (free)

Мы исследуем проблему долгого выполнения запросов PostgreSQL при использовании конструкции VALUES: когда она возникает, как на нее можно повлиять, а главное, почему ее продуманная отработка важна для более быстрого функционирования решений на базе 1С

12.11.2024    830    Tantor    19    

14

HighLoad оптимизация Администрирование СУБД Механизмы платформы 1С Программист Платформа 1С v8.3 ИТ-компания Россия Бесплатно (free)

В данной статье мы рассмотрим, как работает механизм временных таблиц на postgres на платформе 8.3.23 и что изменилось в нем при добавлении новых возможностей в платформе 8.3.25. А также на примере покажу, как понимание работы платформы позволяет оптимизировать СУБД для работы с 1С.

29.10.2024    3148    Tantor    38    

34

Администрирование СУБД Системный администратор Программист Бесплатно (free)

CDC - очень мощный механизм, который можно использовать во многих сценариях, возможность развернуть его в Docker показывает простоту и лёгкость данной технологии.

08.10.2024    734    AlexSvoykin    1    

7

Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Анализ и решение ошибок СУБД. Во время реиндексации базы Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось найти объект "ИмяБазы.dbo._RefSInf21806", так как он не существует, или отсутствуют разрешения. Во время проверки целостности Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Недопустимое имя объекта "dbo._RefSInf21806".

19.09.2024    4349    Xershi    10    

17

HighLoad оптимизация Администрирование СУБД Архивирование (backup) Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер) до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя было сделать проще, как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей-то лабораторной работы? Статья адресована прежде всего специалистам 1С, избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.

13.08.2024    2972    1CUnlimited    9    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Olenevod 33 25.09.22 21:24 Сейчас в теме
Спасибо) пригодиться в конвейере CI
2. michmich 28.06.23 09:42 Сейчас в теме
Спасибо, пригодилось. Тоже бесили эти бесполезные сообщения, которые занимают больше места, чем полезная информация.
3. budidich 418 31.01.24 16:06 Сейчас в теме
Спасибо, пригодилось!
4. user2033473 02.09.24 12:50 Сейчас в теме
Спасибо, полезная информация. Избавился от лишнего вывода
Оставьте свое сообщение