我正在试验Spring Boot 2和AspectJ Load Time Weaving . 我可以从Eclipse运行测试和应用程序(将两个代理程序:aspectjweaver和spring-instrument添加到VM),来自Maven的surefire也运行正常,但是我无法将两个代理添加到spring-boot-maven-plugin .
这是我的pom.xml片段
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
-javaagent:"${settings.localRepository}/org/springframework/spring-instrument/${spring.version}/spring-instrument-${spring.version}.jar"
-Dspring.profiles.active=test</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<agent>
${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
</agent>
<agent>
${settings.localRepository}/org/springframework/spring-instrument/${spring.version}/spring-instrument-${spring.version}.jar
</agent>
</configuration>
</plugin>
看起来像spring-boot-maven-plugin只将spring-instrument连接到VM . (实际上,始终是pom的最后一个'代理'条目 .
任何人都有一个想法,如何使这个工作?
我使用的是Java 8,Spring Boot 2.1.0.RELEASE(AspectJ 1.9.2和Spring 5.1.2.RELEASE) .