Я пытаюсь профилировать приложение SpringBoot.Чтобы сделать это, я упаковал его в файл jar, вот часть моего pom.xml.Я могу запустить это с java -jar App.jar
и использовать свои конечные точки REST.Он отлично работает.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
Но я хочу профилировать его с помощью VisualVM.Для этого мне нужно запустить как
java -Xverify:none -jar App.jar
, потому что в противном случае я получаю Redefinition failed with error 62
.Приложение работает, конечные точки REST все еще работают, но я вижу этот журнал.
main] oacatalina.core.AprLifecycleListener: основанная на APR библиотека Apache Tomcat Native, которая обеспечивает оптимальную производительность в производственных средах, не была найдена в файле java.library.path: [C: \ Program Files (x86)) ...
Но, как я уже сказал, это работает, но профилирование не работает.После запуска профилирования ЦП в VisualVM я получаю эту трассировку стека
ОШИБКА 6944 --- [alina-utility-1] org.apache.catalina.core.ContainerBase: фоновый поток обработки исключений
java.lang.NoClassDefFoundError: org / springframework / boot / autoconfigure / web / внедренный / TomcatWebServerFactoryCustomizer $$ Lambda $ 304 в org.springframework.boot.autoconfigure.web.embedded.life_life