小编O_k*_*O_k的帖子

Spring启动 - java.lang.ClassNotFoundException:javax.servlet.ServletContext并且无法启动EmbeddedWebApplicationContext

我有一个spring boot应用程序(grails 3.1.8),但是当我在intellij中运行应用程序时,我收到以下错误:

Caused by: java.lang.IllegalStateException: Failed to introspect annotated methods on class org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport
    at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:163)
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:292)
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:232)
    at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:510)
    ... 26 common frames omitted
Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.getDeclaredMethods(Class.java:1975)
    at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:152)
    ... 29 common frames omitted
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContext
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 33 common frames omitted
Run Code Online (Sandbox Code Playgroud)

我尝试在构造函数中建议添加javax-servlet-api依赖项引发异常; 嵌套异常是java.lang.NoClassDefFoundError:javax/servlet/ServletContext

但后来我开始得到:

ERROR org.springframework.boot.SpringApplication - Application startup failed
org.springframework.context.ApplicationContextException: Unable to start embedded container; …
Run Code Online (Sandbox Code Playgroud)

grails spring-boot

14
推荐指数
4
解决办法
2万
查看次数

componentDidMount:无法在卸载的组件上调用setState(或forceUpdate)

我在componentDidMount中获取数据并更新状态,并出现着名的警告:

警告:无法在卸载的组件上调用setState(或forceUpdate).这是一个无操作,但它表示应用程序中存在内存泄漏.要修复,请取消componentWillUnmount方法中的所有订阅和异步任务.

我的代码如下:

componentDidMount() {
    let self = this;

    let apiBaseUrl = Config.serverUrl;
    axios.get( apiBaseUrl + '/dataToBeFetched/' )
        .then( function(response) {
            self.setState( { data: response.data } );;
        } );
}
Run Code Online (Sandbox Code Playgroud)

导致此警告的原因是什么是获取数据和更新状态的最佳方法?

reactjs axios

6
推荐指数
1
解决办法
6938
查看次数

标签 统计

axios ×1

grails ×1

reactjs ×1

spring-boot ×1