Вполне возможно использовать Byte Бадди изнутри плагин Maven. Вы можете реализовать ClassFileLocator для целевой Maven после фазы компиляции и переопределить классы в этой папке с помощью экземпляра ByteBuddy. API идентичен API-интерфейсу AgentBuilder внутри трансформатора.
Вам понадобится реализовать такой плагин. В настоящее время не существует.
Однако учтите, что это статическое преобразование имеет свои ограничения. Используя плагин, невозможно переопределить классы начальной загрузки виртуальной машины. Также было бы сложно изменить классы библиотеки, поскольку они являются внешними артефактами. Наконец, Byte Buddy может регистрировать обратные вызовы в реальном времени, которые должны быть установлены в течение времени выполнения.
UPDATE: Я только что добавил этот плагин и выпустил плагин Maven Byte Buddy в версии 1.4.21. Преобразование может быть добавлен следующим образом:
<plugin>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>transform</goal>
</goals>
</execution>
</executions>
<configuration>
<transformations>
<transformation>
<plugin>net.bytebuddy.test.SimplePlugin</plugin>
<!-- Optionally, specify groupId, artifactId, version of the class -->
</transformation>
</transformations>
<!-- Optionally, add 'initialization' block with EntryPoint class -->
</configuration>
</plugin>
Два соответствующие интерфейсы Plugin
и EntryPoint
добавляются в библиотеку непосредственно и прямо вперед, чтобы реализовать.