Я знаю, что могу создать bean-компонент InstrumentationLoadTimeWeaver, как показано ниже. >
@Bean
public LoadTimeWeaver loadTimeWeaver() {
return new InstrumentationLoadTimeWeaver();
}
и это работает хорошо, когда я добавляю --javaagent:.
Команда
java --javaagent:~/.m2/repository/org/springframework/spring-instrument//spring-instrument-.jar -jar myjar.jar
При описанном выше подходе есть две проблемы:
- Мне нужно жестко запрограммировать версию, управляемую Spring-boot- starter-parent.
- Добавление javaagent в несколько сценариев развертывания, а также в конфигурацию IDE.
dev.aspectj
agent-embedder-maven-plugin
1.0
embed-agent
embed
org.springframework
spring-instrument
Но это не работает во время выполнения тестов, и мне приходится управлять двумя конфигурациями.
- Явно используйте javaagent для test
- Использовать плагин для выполнения jar для развертывания
В настоящее время я провожу тестирование, добавляя конфигурацию в плагин Surefire, как показано ниже -
org.apache.maven.plugins
maven-surefire-plugin
3.2.3
--add-opens java.base/java.lang=ALL-UNNAMED
-javaagent:${user.home}/.m2/repository/org/springframework/spring-instrument/${spring-instrument.version}/spring-instrument-${spring-instrument.version}.jar
Подробнее здесь: https://stackoverflow.com/questions/792 ... -spring-bo
Мобильная версия