Spring @ControllerAdvice-NoClassDefFoundError:javax / servlet / ServletException

アンドレイR:

春のプロジェクトでExceptionHandlerを使用しています。プロジェクトで@ControllerAdviceを使用したいのですが、問題があります。プロジェクトをビルドするとエラーが発生しますが、@ ControllerAdviceにコメントすると、プロジェクトは正常にビルドされます。ビルドには、gradleを使用します。以下に、エラーのコード、MyExceptionHandlerおよびbuild.gradleを追加します。

java.lang.NoClassDefFoundError: javax/servlet/ServletException
    at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[na:na]
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:821) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:719) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:600) ~[na:na]
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
    at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[na:na]
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:821) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:719) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:600) ~[na:na]
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
    at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[na:na]
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:821) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:719) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:600) ~[na:na]
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
    at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) ~[na:na]
    at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3215) ~[na:na]
    at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2435) ~[na:na]
    at org.springframework.boot.context.properties.ConfigurationPropertiesBindConstructorProvider.findConstructorBindingAnnotatedConstructor(ConfigurationPropertiesBindConstructorProvider.java:62) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
    at org.springframework.boot.context.properties.ConfigurationPropertiesBindConstructorProvider.getBindConstructor(ConfigurationPropertiesBindConstructorProvider.java:48) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
    at org.springframework.boot.context.properties.ConfigurationPropertiesBean$BindMethod.forType(ConfigurationPropertiesBean.java:311) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
    at org.springframework.boot.context.properties.ConfigurationPropertiesBeanDefinitionValidator.validate(ConfigurationPropertiesBeanDefinitionValidator.java:63) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
    at org.springframework.boot.context.properties.ConfigurationPropertiesBeanDefinitionValidator.postProcessBeanFactory(ConfigurationPropertiesBeanDefinitionValidator.java:45) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:286) ~[spring-context-5.2.5.RELEASE.jar:5.2.5.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:174) ~[spring-context-5.2.5.RELEASE.jar:5.2.5.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:706) ~[spring-context-5.2.5.RELEASE.jar:5.2.5.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532) ~[spring-context-5.2.5.RELEASE.jar:5.2.5.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
    at com.andreirozov.cyclingserver.CyclingserverApplication.main(CyclingserverApplication.java:10) ~[main/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:564) ~[na:na]
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.2.6.RELEASE.jar:2.2.6.RELEASE]
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletException
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602) ~[na:na]
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
    ... 50 common frames omitted

私の例外ハンドラ:

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;

@ControllerAdvice
public class MyExceptionHandler extends ResponseEntityExceptionHandler {

    @ExceptionHandler(EmptyListException.class)
    protected ResponseEntity<MyException> handleEmptyListException() {
        return new ResponseEntity<>(new MyException("Unexpected empty list"), HttpStatus.NOT_FOUND);
    }

    @ExceptionHandler(ParseException.class)
    protected ResponseEntity<MyException> handleParseException() {
        return new ResponseEntity<>(new MyException("Jsoup parse error"), HttpStatus.NOT_FOUND);
    }

    protected static class MyException {
        private String message;

        public MyException(String m) {
            message = m;
        }

        public String getMessage() {
            return message;
        }

        public void setMessage(String message) {
            this.message = message;
        }
    }
}

私のbuild.gradle:

plugins {
    id 'org.springframework.boot' version '2.2.6.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
    id 'war'
}

group = 'com.andreirozov'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '14'

configurations {
    developmentOnly
    runtimeClasspath {
        extendsFrom developmentOnly
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compile 'org.jsoup:jsoup:1.13.1'
    compile 'org.springframework.boot:spring-boot-starter-hateoas'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}

依存ツリー:

compileClasspath - Compile classpath for source set 'main'.
+--- org.jsoup:jsoup:1.13.1
+--- org.springframework.boot:spring-boot-starter-hateoas -> 2.2.6.RELEASE
|    +--- org.springframework.boot:spring-boot-starter-web:2.2.6.RELEASE
|    |    +--- org.springframework.boot:spring-boot-starter:2.2.6.RELEASE
|    |    |    +--- org.springframework.boot:spring-boot:2.2.6.RELEASE
|    |    |    |    +--- org.springframework:spring-core:5.2.5.RELEASE
|    |    |    |    |    \--- org.springframework:spring-jcl:5.2.5.RELEASE
|    |    |    |    \--- org.springframework:spring-context:5.2.5.RELEASE
|    |    |    |         +--- org.springframework:spring-aop:5.2.5.RELEASE
|    |    |    |         |    +--- org.springframework:spring-beans:5.2.5.RELEASE
|    |    |    |         |    |    \--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    |    |         |    \--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    |    |         +--- org.springframework:spring-beans:5.2.5.RELEASE (*)
|    |    |    |         +--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    |    |         \--- org.springframework:spring-expression:5.2.5.RELEASE
|    |    |    |              \--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    |    +--- org.springframework.boot:spring-boot-autoconfigure:2.2.6.RELEASE
|    |    |    |    \--- org.springframework.boot:spring-boot:2.2.6.RELEASE (*)
|    |    |    +--- org.springframework.boot:spring-boot-starter-logging:2.2.6.RELEASE
|    |    |    |    +--- ch.qos.logback:logback-classic:1.2.3
|    |    |    |    |    +--- ch.qos.logback:logback-core:1.2.3
|    |    |    |    |    \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.30
|    |    |    |    +--- org.apache.logging.log4j:log4j-to-slf4j:2.12.1
|    |    |    |    |    +--- org.slf4j:slf4j-api:1.7.25 -> 1.7.30
|    |    |    |    |    \--- org.apache.logging.log4j:log4j-api:2.12.1
|    |    |    |    \--- org.slf4j:jul-to-slf4j:1.7.30
|    |    |    |         \--- org.slf4j:slf4j-api:1.7.30
|    |    |    +--- jakarta.annotation:jakarta.annotation-api:1.3.5
|    |    |    \--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    +--- org.springframework.boot:spring-boot-starter-json:2.2.6.RELEASE
|    |    |    +--- org.springframework.boot:spring-boot-starter:2.2.6.RELEASE (*)
|    |    |    +--- org.springframework:spring-web:5.2.5.RELEASE
|    |    |    |    +--- org.springframework:spring-beans:5.2.5.RELEASE (*)
|    |    |    |    \--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    |    +--- com.fasterxml.jackson.core:jackson-databind:2.10.3
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.10.3
|    |    |    |    \--- com.fasterxml.jackson.core:jackson-core:2.10.3
|    |    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.3
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.10.3
|    |    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.10.3 (*)
|    |    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.3
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.10.3
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.10.3
|    |    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.10.3 (*)
|    |    |    \--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.10.3
|    |    |         +--- com.fasterxml.jackson.core:jackson-core:2.10.3
|    |    |         \--- com.fasterxml.jackson.core:jackson-databind:2.10.3 (*)
|    |    +--- org.springframework.boot:spring-boot-starter-tomcat:2.2.6.RELEASE
|    |    |    +--- jakarta.annotation:jakarta.annotation-api:1.3.5
|    |    |    +--- org.apache.tomcat.embed:tomcat-embed-core:9.0.33
|    |    |    +--- org.apache.tomcat.embed:tomcat-embed-el:9.0.33
|    |    |    \--- org.apache.tomcat.embed:tomcat-embed-websocket:9.0.33
|    |    |         \--- org.apache.tomcat.embed:tomcat-embed-core:9.0.33
|    |    +--- org.springframework.boot:spring-boot-starter-validation:2.2.6.RELEASE
|    |    |    +--- org.springframework.boot:spring-boot-starter:2.2.6.RELEASE (*)
|    |    |    +--- jakarta.validation:jakarta.validation-api:2.0.2
|    |    |    \--- org.hibernate.validator:hibernate-validator:6.0.18.Final
|    |    |         +--- org.jboss.logging:jboss-logging:3.3.2.Final -> 3.4.1.Final
|    |    |         \--- com.fasterxml:classmate:1.3.4 -> 1.5.1
|    |    +--- org.springframework:spring-web:5.2.5.RELEASE (*)
|    |    \--- org.springframework:spring-webmvc:5.2.5.RELEASE
|    |         +--- org.springframework:spring-aop:5.2.5.RELEASE (*)
|    |         +--- org.springframework:spring-beans:5.2.5.RELEASE (*)
|    |         +--- org.springframework:spring-context:5.2.5.RELEASE (*)
|    |         +--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |         +--- org.springframework:spring-expression:5.2.5.RELEASE (*)
|    |         \--- org.springframework:spring-web:5.2.5.RELEASE (*)
|    \--- org.springframework.hateoas:spring-hateoas:1.0.4.RELEASE
|         +--- org.springframework:spring-aop:5.2.5.RELEASE (*)
|         +--- org.springframework:spring-beans:5.2.5.RELEASE (*)
|         +--- org.springframework:spring-context:5.2.5.RELEASE (*)
|         +--- org.springframework:spring-core:5.2.5.RELEASE (*)
|         +--- org.springframework:spring-web:5.2.5.RELEASE (*)
|         +--- org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE
|         |    +--- org.springframework:spring-beans:5.2.0.RELEASE -> 5.2.5.RELEASE (*)
|         |    +--- org.springframework:spring-context:5.2.0.RELEASE -> 5.2.5.RELEASE (*)
|         |    +--- org.springframework:spring-aop:5.2.0.RELEASE -> 5.2.5.RELEASE (*)
|         |    \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.30
|         +--- com.jayway.jsonpath:json-path:2.4.0
|         |    +--- net.minidev:json-smart:2.3
|         |    |    \--- net.minidev:accessors-smart:1.2
|         |    |         \--- org.ow2.asm:asm:5.0.4
|         |    \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.30
|         \--- org.slf4j:slf4j-api:1.7.30
+--- org.springframework.boot:spring-boot-starter-web -> 2.2.6.RELEASE (*)
\--- javax.servlet:javax.servlet-api:3.1.0

runtimeClasspath - Runtime classpath of source set 'main'.
+--- org.jsoup:jsoup:1.13.1
+--- org.springframework.boot:spring-boot-starter-hateoas -> 2.2.6.RELEASE
|    +--- org.springframework.boot:spring-boot-starter-web:2.2.6.RELEASE
|    |    +--- org.springframework.boot:spring-boot-starter:2.2.6.RELEASE
|    |    |    +--- org.springframework.boot:spring-boot:2.2.6.RELEASE
|    |    |    |    +--- org.springframework:spring-core:5.2.5.RELEASE
|    |    |    |    |    \--- org.springframework:spring-jcl:5.2.5.RELEASE
|    |    |    |    \--- org.springframework:spring-context:5.2.5.RELEASE
|    |    |    |         +--- org.springframework:spring-aop:5.2.5.RELEASE
|    |    |    |         |    +--- org.springframework:spring-beans:5.2.5.RELEASE
|    |    |    |         |    |    \--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    |    |         |    \--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    |    |         +--- org.springframework:spring-beans:5.2.5.RELEASE (*)
|    |    |    |         +--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    |    |         \--- org.springframework:spring-expression:5.2.5.RELEASE
|    |    |    |              \--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    |    +--- org.springframework.boot:spring-boot-autoconfigure:2.2.6.RELEASE
|    |    |    |    \--- org.springframework.boot:spring-boot:2.2.6.RELEASE (*)
|    |    |    +--- org.springframework.boot:spring-boot-starter-logging:2.2.6.RELEASE
|    |    |    |    +--- ch.qos.logback:logback-classic:1.2.3
|    |    |    |    |    +--- ch.qos.logback:logback-core:1.2.3
|    |    |    |    |    \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.30
|    |    |    |    +--- org.apache.logging.log4j:log4j-to-slf4j:2.12.1
|    |    |    |    |    +--- org.slf4j:slf4j-api:1.7.25 -> 1.7.30
|    |    |    |    |    \--- org.apache.logging.log4j:log4j-api:2.12.1
|    |    |    |    \--- org.slf4j:jul-to-slf4j:1.7.30
|    |    |    |         \--- org.slf4j:slf4j-api:1.7.30
|    |    |    +--- jakarta.annotation:jakarta.annotation-api:1.3.5
|    |    |    +--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    |    \--- org.yaml:snakeyaml:1.25
|    |    +--- org.springframework.boot:spring-boot-starter-json:2.2.6.RELEASE
|    |    |    +--- org.springframework.boot:spring-boot-starter:2.2.6.RELEASE (*)
|    |    |    +--- org.springframework:spring-web:5.2.5.RELEASE
|    |    |    |    +--- org.springframework:spring-beans:5.2.5.RELEASE (*)
|    |    |    |    \--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |    |    +--- com.fasterxml.jackson.core:jackson-databind:2.10.3
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.10.3
|    |    |    |    \--- com.fasterxml.jackson.core:jackson-core:2.10.3
|    |    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.3
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.10.3
|    |    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.10.3 (*)
|    |    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.3
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.10.3
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.10.3
|    |    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.10.3 (*)
|    |    |    \--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.10.3
|    |    |         +--- com.fasterxml.jackson.core:jackson-core:2.10.3
|    |    |         \--- com.fasterxml.jackson.core:jackson-databind:2.10.3 (*)
|    |    +--- org.springframework.boot:spring-boot-starter-tomcat:2.2.6.RELEASE
|    |    |    +--- jakarta.annotation:jakarta.annotation-api:1.3.5
|    |    |    +--- org.apache.tomcat.embed:tomcat-embed-core:9.0.33
|    |    |    +--- org.apache.tomcat.embed:tomcat-embed-el:9.0.33
|    |    |    \--- org.apache.tomcat.embed:tomcat-embed-websocket:9.0.33
|    |    |         \--- org.apache.tomcat.embed:tomcat-embed-core:9.0.33
|    |    +--- org.springframework.boot:spring-boot-starter-validation:2.2.6.RELEASE
|    |    |    +--- org.springframework.boot:spring-boot-starter:2.2.6.RELEASE (*)
|    |    |    +--- jakarta.validation:jakarta.validation-api:2.0.2
|    |    |    \--- org.hibernate.validator:hibernate-validator:6.0.18.Final
|    |    |         +--- org.jboss.logging:jboss-logging:3.3.2.Final -> 3.4.1.Final
|    |    |         \--- com.fasterxml:classmate:1.3.4 -> 1.5.1
|    |    +--- org.springframework:spring-web:5.2.5.RELEASE (*)
|    |    \--- org.springframework:spring-webmvc:5.2.5.RELEASE
|    |         +--- org.springframework:spring-aop:5.2.5.RELEASE (*)
|    |         +--- org.springframework:spring-beans:5.2.5.RELEASE (*)
|    |         +--- org.springframework:spring-context:5.2.5.RELEASE (*)
|    |         +--- org.springframework:spring-core:5.2.5.RELEASE (*)
|    |         +--- org.springframework:spring-expression:5.2.5.RELEASE (*)
|    |         \--- org.springframework:spring-web:5.2.5.RELEASE (*)
|    \--- org.springframework.hateoas:spring-hateoas:1.0.4.RELEASE
|         +--- org.springframework:spring-aop:5.2.5.RELEASE (*)
|         +--- org.springframework:spring-beans:5.2.5.RELEASE (*)
|         +--- org.springframework:spring-context:5.2.5.RELEASE (*)
|         +--- org.springframework:spring-core:5.2.5.RELEASE (*)
|         +--- org.springframework:spring-web:5.2.5.RELEASE (*)
|         +--- org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE
|         |    +--- org.springframework:spring-beans:5.2.0.RELEASE -> 5.2.5.RELEASE (*)
|         |    +--- org.springframework:spring-context:5.2.0.RELEASE -> 5.2.5.RELEASE (*)
|         |    +--- org.springframework:spring-aop:5.2.0.RELEASE -> 5.2.5.RELEASE (*)
|         |    \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.30
|         +--- com.jayway.jsonpath:json-path:2.4.0
|         |    +--- net.minidev:json-smart:2.3
|         |    |    \--- net.minidev:accessors-smart:1.2
|         |    |         \--- org.ow2.asm:asm:5.0.4
|         |    \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.30
|         \--- org.slf4j:slf4j-api:1.7.30
+--- org.springframework.boot:spring-boot-devtools -> 2.2.6.RELEASE
|    +--- org.springframework.boot:spring-boot:2.2.6.RELEASE (*)
|    \--- org.springframework.boot:spring-boot-autoconfigure:2.2.6.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-web -> 2.2.6.RELEASE (*)
+--- javax.servlet:javax.servlet-api:3.1.0
\--- org.springframework.boot:spring-boot-starter-tomcat -> 2.2.6.RELEASE (*)

providedRuntime - Additional runtime classpath for libraries that should not be part of the WAR archive.
+--- javax.servlet:javax.servlet-api:3.1.0
\--- org.springframework.boot:spring-boot-starter-tomcat -> 2.2.6.RELEASE
     +--- jakarta.annotation:jakarta.annotation-api:1.3.5
     +--- org.apache.tomcat.embed:tomcat-embed-core:9.0.33
     +--- org.apache.tomcat.embed:tomcat-embed-el:9.0.33
     \--- org.apache.tomcat.embed:tomcat-embed-websocket:9.0.33
          \--- org.apache.tomcat.embed:tomcat-embed-core:9.0.33

Artem Ptushkin:

スタンドアロンのjarアプリケーションでは必要ありませんprovidedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'Starter-webには、

この依存関係を宣言したとき、スタンドアロンで実行するためにtomcatを除外するようにビルドすると言いました。つまり、内部にサーブレットライブラリはありません。


このアプリをどこかにデプロイする場合はstarter-web、次のようにtomcatをから除外します

compile('org.springframework.boot:spring-boot-starter-web'){
    exclude module: "spring-boot-starter-tomcat"
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

javax.servlet.ServletException:java.lang.NoClassDefFoundError:javax / servlet / jsp / jstl / core / ConditionalTagSupport

分類Dev

解決方法:javax.servlet.ServletException:java.lang.NoClassDefFoundError:javax / xml / ws / soap / SOAPFaultException

分類Dev

primefaces autocomplete javax.servlet.ServletException

分類Dev

javax.servlet.ServletException:java.lang.NoClassDefFoundError:org / apache / commons / io / output / DeferredFileOutputStream

分類Dev

javax.servlet.ServletException:com.vaadin.server.ServiceException:java.lang.NoClassDefFoundError

分類Dev

javax.servlet.ServletException:org.glassfish.jersey.server.ContainerException:java.lang.NoClassDefFoundError:org / json / JSONObject

分類Dev

Java Spring MVC-java.lang.NoClassDefFoundError:javax / servlet / ServletContext

分類Dev

javax.servlet.ServletException: AS-WEB-CORE-00089 exception In servlets

分類Dev

Value of must be an array or a collection (javax.servlet.ServletException)

分類Dev

javax.servlet.ServletExceptionのjco問題

分類Dev

HTTPステータス500-javax.servlet.ServletException:java.lang.NoClassDefFoundError:edu / stanford / nlp / tagger / maxent / MaxentTagger

分類Dev

javax.servlet.ServletException: javax.servlet.jsp.JspException: In &lt;parseDate&gt;, value attribute can not be parsed

分類Dev

Java JAX-RS CORS / Tomcatの競合:javax.servlet.ServletException

分類Dev

primefacesオートコンプリートjavax.servlet.ServletException

分類Dev

Error 500: javax.servlet.ServletException: org.primefaces.model.TreeNode on deployment on websphere

分類Dev

how can i solve this error, javax.servlet.ServletException: java.sql.SQLException: No database selected

分類Dev

Spring mvc 4 hello worldの例でjavax.servlet.ServletExceptionがスローされます:WebApplicationInitializerクラスのインスタンス化に失敗しました

分類Dev

タイプjavax.servlet.ServletContextおよびjavax.servlet.ServletExceptionを解決できません

分類Dev

java.lang.NoClassDefFoundError:javax / servlet / ServletContext

分類Dev

javax.servlet.ServletExceptionをインスタンス化できません

分類Dev

javax.servlet.ServletException:Bean [name]がスコープ内に見つかりません

分類Dev

javax.servlet.ServletException:サーブレットでのAS-WEB-CORE-00089例外

分類Dev

Spring @ControllerAdvice vs ErrorController

分類Dev

javax.servlet.ServletException:クラス[org.glassfish.jersey.servlet.ServletContainer]はサーブレットではありません

分類Dev

Springセキュリティがjavax.servlet.ServletExceptionをスローします:「j_spring_security_check」という名前のビューを解決できませんでした

分類Dev

Springセキュリティがjavax.servlet.ServletExceptionをスローします:「j_spring_security_check」という名前のビューを解決できませんでした

分類Dev

JBossでの「javax.servlet.ServletException:非HTTPリクエストまたはレスポンス」

分類Dev

JpaRepositoryがjavax.servlet.ServletExceptionを返すRestController:ハンドラーのアダプターなし

分類Dev

javax.servlet.ServletExceptionをSpringWebアプリのタイプに解決できません

Related 関連記事

  1. 1

    javax.servlet.ServletException:java.lang.NoClassDefFoundError:javax / servlet / jsp / jstl / core / ConditionalTagSupport

  2. 2

    解決方法:javax.servlet.ServletException:java.lang.NoClassDefFoundError:javax / xml / ws / soap / SOAPFaultException

  3. 3

    primefaces autocomplete javax.servlet.ServletException

  4. 4

    javax.servlet.ServletException:java.lang.NoClassDefFoundError:org / apache / commons / io / output / DeferredFileOutputStream

  5. 5

    javax.servlet.ServletException:com.vaadin.server.ServiceException:java.lang.NoClassDefFoundError

  6. 6

    javax.servlet.ServletException:org.glassfish.jersey.server.ContainerException:java.lang.NoClassDefFoundError:org / json / JSONObject

  7. 7

    Java Spring MVC-java.lang.NoClassDefFoundError:javax / servlet / ServletContext

  8. 8

    javax.servlet.ServletException: AS-WEB-CORE-00089 exception In servlets

  9. 9

    Value of must be an array or a collection (javax.servlet.ServletException)

  10. 10

    javax.servlet.ServletExceptionのjco問題

  11. 11

    HTTPステータス500-javax.servlet.ServletException:java.lang.NoClassDefFoundError:edu / stanford / nlp / tagger / maxent / MaxentTagger

  12. 12

    javax.servlet.ServletException: javax.servlet.jsp.JspException: In &lt;parseDate&gt;, value attribute can not be parsed

  13. 13

    Java JAX-RS CORS / Tomcatの競合:javax.servlet.ServletException

  14. 14

    primefacesオートコンプリートjavax.servlet.ServletException

  15. 15

    Error 500: javax.servlet.ServletException: org.primefaces.model.TreeNode on deployment on websphere

  16. 16

    how can i solve this error, javax.servlet.ServletException: java.sql.SQLException: No database selected

  17. 17

    Spring mvc 4 hello worldの例でjavax.servlet.ServletExceptionがスローされます:WebApplicationInitializerクラスのインスタンス化に失敗しました

  18. 18

    タイプjavax.servlet.ServletContextおよびjavax.servlet.ServletExceptionを解決できません

  19. 19

    java.lang.NoClassDefFoundError:javax / servlet / ServletContext

  20. 20

    javax.servlet.ServletExceptionをインスタンス化できません

  21. 21

    javax.servlet.ServletException:Bean [name]がスコープ内に見つかりません

  22. 22

    javax.servlet.ServletException:サーブレットでのAS-WEB-CORE-00089例外

  23. 23

    Spring @ControllerAdvice vs ErrorController

  24. 24

    javax.servlet.ServletException:クラス[org.glassfish.jersey.servlet.ServletContainer]はサーブレットではありません

  25. 25

    Springセキュリティがjavax.servlet.ServletExceptionをスローします:「j_spring_security_check」という名前のビューを解決できませんでした

  26. 26

    Springセキュリティがjavax.servlet.ServletExceptionをスローします:「j_spring_security_check」という名前のビューを解決できませんでした

  27. 27

    JBossでの「javax.servlet.ServletException:非HTTPリクエストまたはレスポンス」

  28. 28

    JpaRepositoryがjavax.servlet.ServletExceptionを返すRestController:ハンドラーのアダプターなし

  29. 29

    javax.servlet.ServletExceptionをSpringWebアプリのタイプに解決できません

ホットタグ

アーカイブ