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 утилита лицензирование

См. также

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

В рамках мастер-класса мы запустим нагрузочный тест на 3К пользователей и посмотрим, как будет вести себя PostgreSQL при такой нагрузке.

11.12.2024    1267    Tantor    1    

6

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

Много вариантов определения номера собственного процесса самого 1С8. В ходе поиска, опираясь на общедоступную информацию, дополнил алгоритм, но с учетом определения ИД запущенного приложения.

09.12.2024    586    artly2000    6    

4

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

В крупных компаниях, где много типовых и сильно доработанных баз с режимом работы 24/7, переход с MS SQL на PostgreSQL затягивается. Получается гетерогенная структура – когда прод уже на PostgreSQL, а разработка и тестирование – пока на MS SQL. О том, какие варианты помогут постепенно перевести прод с несколькими базами MS SQL на PostgreSQL, не сломав среду тестирования и разработки, пойдет речь в статье.

21.11.2024    3561    a.doroshkevich    8    

15

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

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

12.11.2024    1365    Tantor    20    

17

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

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

29.10.2024    4475    Tantor    38    

37

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

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

08.10.2024    1301    AlexSvoykin    2    

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    5762    Xershi    10    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Olenevod 34 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 Сейчас в теме
Спасибо, полезная информация. Избавился от лишнего вывода
Оставьте свое сообщение