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

См. также

Администрирование СУБД Системный администратор Абонемент ($m)

Всегда надо обслуживать индексы SQL. В том числе по рекомендации самой 1С. Но обслуживать все и сразу - долго, тяжело серверу и, главное, бессмысленно. Особенно для больших баз. Данный скрипт выбирает, что надо делать, и делает это автоматически. Готового полного аналога не нашел, поэтому сделал этот. Можно примерять для любых конфигураций и платформ 1С. Проверено на 8.3.25.1501.

1 стартмани

12.02.2025    503    3    GreyCardinal    14    

4

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

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

11.12.2024    1793    Tantor    1    

6

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

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

09.12.2024    852    artly2000    6    

4

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

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

21.11.2024    4167    a.doroshkevich    8    

16

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

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

12.11.2024    1612    Tantor    20    

19

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

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

29.10.2024    5226    Tantor    38    

37

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

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

08.10.2024    1839    AlexSvoykin    2    

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