Несколько недель назад я искал способ создать несколько строковых констант для полей класса java -> Создать константы для атрибутов класса с помощью maven?
Я получил это работает. Я создаю аспект, содержащий константы, и вплетаю их в файлы классов.
Проблема в том, что мои клиенты получают исключение NoClassDefFound, когда пытаются использовать класс weaved.
Для этого есть две причины:
Я удаляю аспектные файлы .class из клиентского jar во время процесса сборки
В их пути к классам нет библиотеки aspectj
Используя декомпилятор, я обнаружил, что класс получил статический блок, подобный этому:
static {
CarDTOAspect.ajc$interFieldInit$my.package.CarDTOAspect$my.package.CarDTO$VENDOR();
CarDTOAspect.ajc$interFieldInit$my.package.CarDTOAspect$my.package.CarDTO$NAME();
}
Мой вопрос:
Есть ли опция в процедуре weave, которая создает реальный "public static final String" -Field в моем файле класса, чтобы я мог полностью избавиться от аспектов в моем клиентском jar?
Заранее спасибо
мартин