NoClassDefFound при профилировании приложения SpringBoot с VisualVM - PullRequest
0 голосов
/ 16 марта 2019

Я пытаюсь профилировать приложение 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

...