Невозможно получить дескриптор модуля для устаревшего подписанного JAR - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь обновить систему программного обеспечения до JDK-11, используя модули, и все шло отлично, вплоть до того, как я врезался в вышеупомянутую проблему.

У меня есть устаревший подписанный JARчто мне нужно включить для взаимодействия с устаревшими системами.Нет способа обновить JAR и нет возможности получить новую версию.JAR должен быть подписан, чтобы его можно было использовать (вся сделка с «доверенным кодом» и все такое).Проблема в том, что JAR содержит классы в неназванном (корневом) пакете.Да уж.Глупый.Плохая практикаBlablabla.Он все еще там, и мне все еще нужно его использовать.

Я нигде не нашел ни документации, ни ответов, которые могли бы удаленно предположить, что то, что мне нужно, возможно.На самом деле все наоборот: все непреклонны в том, что в «новой» (модульной) системе модулей ни один класс не может находиться в безымянном пакете.

Нет необходимости говорить, что я не могу одновременно изменить содержимоеиз JAR, или получить в источниках, чтобы сделать новый - это даже без рассмотрения вопроса о подписи ...

Это сказало: я отказываюсь верить, что люди в Oracle оставили бы такой вопиющий недосмотрв отношении устаревшего кода.Как мы все знаем, в большинстве случаев у нас нет выбора, кроме как использовать его по законным причинам, и мы ничего не можем сделать, чтобы исправить / обновить / изменить / и т. Д. ... Я бы надеялся, что был добавлен механизммодульная система для поддержки этого, хотя только для крайних случаев и т. д. и т. д. ...

Отказ от ответственности: я полностью понимаю, почему это не должно поддерживаться.Что мне тяжело, так это отсутствие обходного пути ...

Спасибо!

Я уже пытался:

  • создать фасадмодуль, который транзитивно добавляет модуль-нарушитель (очевидно, без кубиков, та же проблема)
  • распаковка и перепаковка модуля при временном отключении проверки подписи в тестовом окружении (происходит сбой, потому что на класс явно ссылаются во многих других, правильно-организованные классы)
  • поиск обновленного модуля (здесь тоже не повезло)
  • обезглавливание цыпленка и обжигание его над пентаграммой при вызове помощи древних языческих богов (вкусно, но не 'чи это исправить)
  • свернувшись клубком под моим столом и плача, пока не добьется успеха (вот откуда я это набираю) ...
...