JAR-файл зависимостей проекта Java - распознается только часть нового кодаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JAR-файл зависимостей проекта Java - распознается только часть нового кода

Сообщение Anonymous »

У меня есть служба Java, использующая измененный мной jar-файл зависимостей. В зависимости я обновил два разных раздела кода для несвязанных функций. Я обновил версию jar и включил его использование в сервисе через Maven.
Внутри сервиса, когда я запускаю код локально через IntelliJ, который вызывает функцию зависимостей, я получаю:
  • Ожидаемое новое поведение для одного из изменений кода.
  • Неожиданное предыдущее поведение для другого кода меняется. В этом случае я изменил значение строки, которая задается при вызове кода, но результат такой же, как строка была установлена ​​в старом коде.
Я ожидаю, что использование новой версии jar приведет к использованию нового кода в обоих случаях. StackOverflow закрыл мой вопрос и попросил предоставить код для прямого воспроизведения проблемы, но я не уверен, как мне это сделать, поскольку это ненормальное поведение.
  • Предыдущая версия:

Код: Выделить всё

Collections.sort(errorRecords);
fe.setErrorMessage("Failed records - " + errorRecords);
где errorRecords — это список
  • Новая версия:

Код: Выделить всё

fe.setErrorMessage("Failed record(s) - please see documentation for remediation steps.");
Для устранения неполадок я сделал следующее:
  • Удалил все предыдущие версии jar из репозитория Maven m2.
  • Выполнил чистую установку mvn в своем сервисе.
  • Проверил, что после вызова mvn единственная версия jar в репозитории — новая.
    />
  • Недействительный кэш IntelliJ — я использую версию 2025.2.5 Ultimate.
  • Открыл упакованный новый jar-файл из репозитория m2, чтобы просмотреть файл .class, и подтвердил наличие моего нового кода.
  • Проверил, что версия jar, используемая IntelliJ (в разделе «Внешние библиотеки»), является новой версией
  • Попытка просмотреть код внутри IntelliJ. К сожалению, метод, в котором находится мой новый код, не может быть декомпилирован декомпилятором Fern Flower в IntelliJ, поэтому я не могу подтвердить наличие нового кода, пройдя по коду через отладчик. Все, что я вижу, это сообщение // $FF: не удалось декомпилировать. Это также присутствует при использовании более старых версий jar.
  • Перезагружается в крайнем случае. Это работает на macOS 15.7.2. Как и ожидалось, это ничего не помогло.
У меня закончились идеи, куда смотреть дальше. Есть мысли?

Подробнее здесь: https://stackoverflow.com/questions/798 ... recognized
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»