Spring boot No class DefFound net / bytebuddy / dynamic / loading / ClassLoadingStrategy - PullRequest
0 голосов
/ 17 марта 2019

Мне нужна помощь. При развертывании моего весеннего приложения на tomcat я получаю следующее исключение:

 17-Mar-2019 12:50:21.482 INFORMAZIONI [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [C:\Users\vince\develop\apache-tomcat-8.5.38\webapps\reportingsystem.war]
17-Mar-2019 12:50:22.013 GRAVE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/reportingsystem]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:985)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: net/bytebuddy/dynamic/loading/ClassLoadingStrategy
        at com.vaadin.flow.server.startup.ApplicationRouteRegistry.createRegistry(ApplicationRouteRegistry.java:361)
        at com.vaadin.flow.server.startup.ApplicationRouteRegistry.getInstance(ApplicationRouteRegistry.java:211)
        at com.vaadin.flow.server.startup.RouteRegistryInitializer.onStartup(RouteRegistryInitializer.java:43)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5272)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 10 more
Caused by: java.lang.ClassNotFoundException: net.bytebuddy.dynamic.loading.ClassLoadingStrategy
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1364)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1185)
        ... 15 more

17-Mar-2019 12:50:22.013 GRAVE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [C:\Users\vince\develop\apache-tomcat-8.5.38\webapps\reportingsystem.war]
 java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/reportingsystem]]
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:758)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:985)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

17-Mar-2019 12:50:22.029 INFORMAZIONI [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\Users\vince\develop\apache-tomcat-8.5.38\webapps\reportingsystem.war] has finished in [547] ms
17-Mar-2019 12:50:22.029 INFORMAZIONI [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
17-Mar-2019 12:50:22.045 INFORMAZIONI [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
17-Mar-2019 12:50:22.045 INFORMAZIONI [main] org.apache.catalina.startup.Catalina.start Server startup in 619 ms

Это мой файл build.gradle:

 plugins {
    id 'org.springframework.boot' version '2.1.3.RELEASE'
    id 'java'
    id 'net.researchgate.release' version '2.6.0'
    id 'war'
}


war {
    enabled = true
}

apply plugin: 'java'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'net.researchgate.release'
apply plugin: 'war'

repositories {
    mavenCentral()
    maven {
        url 'http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts'
    }
}

sourceSets {
    main {
        resources {

        }
    }
}

dependencies {

    implementation 'org.springframework.boot:spring-boot-starter-cache' //NO
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // SI
    implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'//NO
    implementation 'org.springframework.boot:spring-boot-starter-security' //NO
    implementation 'org.springframework.boot:spring-boot-starter-web' //NO

    implementation platform(group: "com.vaadin", name: "vaadin-bom", version: bomVersions_vaadin)
    implementation 'com.vaadin:vaadin-spring-boot-starter' // SI

    implementation 'io.springfox:springfox-swagger2:2.9.2' //SI
    implementation 'io.springfox:springfox-swagger-ui:
    implementation 'net.sf.jasperreports:jasperreports:6.7.1'
    implementation ('net.sf.jasperreports:jasperreports-fonts:6.0.0')

    runtimeOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'mysql:mysql-connector-java'
    runtimeOnly 'com.h2database:h2:1.4.196'

    compileOnly 'org.projectlombok:lombok:1.18.6'
    annotationProcessor 'org.projectlombok:lombok:1.18.6'
    runtimeOnly group: 'mysql', name: 'mysql-connector-java', version: '8.0.15'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.springframework.security:spring-security-test'
}

Мой файл application.property:

## Logging
logging.level.org.springframework.web=INFO
logging.level.org.springframework.ws.client.MessageTracing.sent=trace
logging.level.org.springframework.ws.client.MessageTracing.received=TRACE

# Naming strategy
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyJpaCompliantImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.show-sql=false
spring.jpa.generate-ddl=false
spring.jpa.hibernate.ddl-auto=none
#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
#spring.jpa.properties.hibernate.connection.provider_disables_autocommit=true
spring.jmx.default-domain=reportingsystem

#useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
## LOCAL DB
spring.datasource.url=jdbc:mysql://localhost:3306/develop?useSSL=false&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&useJDBCCompliantTimezoneShift=true
spring.datasource.username=user
spring.datasource.password=pass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect


# Hikari Datasource
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.connection-timeout=5000
spring.datasource.hikari.minimum-idle=15
spring.datasource.hikari.pool-name=HikariConnectionPool

spring.jpa.properties.hibernate.connection.charSet=UTF-8
spring.jpa.properties.hibernate.hbm2ddl.import_files_sql_extractor=org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor

spring.profiles.active=local
security.basic.enabled=false
security.ignored=/**

Я также заметил, что net / bytebuddy / dynamic / loading / ClassLoadingStrategy присутствует в другом модуле, например, я нашел его в io.springfox: springfox-swagger2: 2.9.2 ', org.springframework.boot: spring-boot -starter-data-jpa и com.vaadin: vaadin-spring-boot-starter. Я пытался исключить это из них, но ничего не произошло, и я получил то же исключение.

Могут ли некоторые помочь мне? Заранее спасибо.

1 Ответ

0 голосов
/ 17 марта 2019

Ваша трассировка стека говорит вам, что класс com.vaadin.flow.server.startup.ApplicationRouteRegistry не удалось загрузить требуемый класс net.bytebuddy.dynamic.loading.ClassLoadingStrategy.

Трудно сказать, что происходит, основываясь только на вашем build.gradle. Есть некоторые известные проблемы с интеграцией Vaadin с Spring Boot, например весенняя загрузка переопределяет версию ByteBuddy .

Вы должны найти, какая зависимость обеспечивает ApplicationRouteRegistry и либо:

  1. Выясните, почему транзитивная зависимость bytebuddy не включена в WAR. Может быть, одна из ваших зависимостей Vaadin имеет нарушенный pom.xml.
  2. Удалите ApplicationRouteRegistry, если он не нужен.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...