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)

Во второй статье по докладу «Дамп – не приговор, а повод задуматься», с которым выступили на конференции INFOSTART TECH EVENT 2024, рассмотрим, какую информацию содержат файлы дампа, чем она полезна и как ее анализировать.

14.04.2025    418    it-expertise    2    

14

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

Где лежат данные идентификаторов, как прочитать, как поменять...

10.04.2025    477    atdonya    0    

3

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

Опубликовали первую статью по итогам доклада «Дамп – не приговор, а повод задуматься», с которым выступали на конференции INFOSTART TECH EVENT 2024.

25.03.2025    538    it-expertise    7    

8

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

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

1 стартмани

12.02.2025    744    24    GreyCardinal    14    

4

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

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

11.12.2024    2184    Tantor    1    

6

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

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

09.12.2024    1043    artly2000    6    

4

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

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

21.11.2024    4610    a.doroshkevich    9    

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