Я пытаюсь реализовать некоторые функции, используя статическую переменную в моей общей библиотеке в Jenkins. Я заметил, что каждая сборка имеет свою версию этой статической переменной.
Я выяснил, что классы плагинов загружаются выше в иерархии загрузчиков классов. Один из этих плагинов определяет статический реестр, который я хочу использовать для своих целей (я получаю бесплатную конечную точку с ним).
В разделяемой библиотеке я определяю статический объект, который я регистрирую в этом статическом реестре. Однако я получаю сообщение об ошибке, в котором говорится, что объект с таким же именем уже зарегистрирован в реестре. Это означает, что каждая сборка создает свою собственную статическую переменную и затем пытается зарегистрировать этот новый объект в этом реестре.
Эти статические переменные определены следующим образом:
private final static Histogram histogram = getHistogram(...)
Где getHistogram ()метод в классе Util, аннотированный @NonCPS, чтобы обойти проблему с вызовом кода CPS в конструкторах или статических полях.
Я хотел бы использовать одну и ту же статическую гистограмму для каждой сборки.
Заранее спасибо.