Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何解析WebappClassLoaderBase_Java_Mongodb_Apache - Fatal编程技术网

Java 如何解析WebappClassLoaderBase

Java 如何解析WebappClassLoaderBase,java,mongodb,apache,Java,Mongodb,Apache,当我启动服务器时,它正在启动,但我遇到了错误。因此无法执行API调用。这些是错误。 Jul 18, 2018 11:05:36 PM com.mongodb.ServerMonitor$ServerMonitorRunnable run WARNING: Exception in monitor thread during notification of server state change java.lang.NoClassDefFoundError: com/mongodb/ChangeE

当我启动服务器时,它正在启动,但我遇到了错误。因此无法执行API调用。这些是错误。

Jul 18, 2018 11:05:36 PM com.mongodb.ServerMonitor$ServerMonitorRunnable run
WARNING: Exception in monitor thread during notification of server state change
java.lang.NoClassDefFoundError: com/mongodb/ChangeEvent
    at com.mongodb.ServerMonitor$ServerMonitorRunnable.sendStateChangedEvent(ServerMonitor.java:136)
    at com.mongodb.ServerMonitor$ServerMonitorRunnable.run(ServerMonitor.java:119)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [com.mongodb.ChangeEvent]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1362)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1219)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
    ... 3 more
Caused by: java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [com.mongodb.ChangeEvent]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1372)
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1360)
    ... 5 more

Jul 18, 2018 11:05:36 PM org.apache.catalina.loader.WebappClassLoaderBase checkStateForResourceLoading
INFO: Illegal access: this web application instance has been stopped already. Could not load [java.util.concurrent.locks.Condition]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [java.util.concurrent.locks.Condition]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1372)
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1360)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1219)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
    at com.mongodb.ServerMonitor$ServerMonitorRunnable.waitForSignalOrTimeout(ServerMonitor.java:177)
    at com.mongodb.ServerMonitor$ServerMonitorRunnable.waitForNext(ServerMonitor.java:158)
    at com.mongodb.ServerMonitor$ServerMonitorRunnable.run(ServerMonitor.java:124)
    at java.lang.Thread.run(Unknown Source)

Exception in thread "cluster-2-34.214.191.171:27017" java.lang.NoClassDefFoundError: java/util/concurrent/locks/Condition
    at com.mongodb.ServerMonitor$ServerMonitorRunnable.waitForSignalOrTimeout(ServerMonitor.java:177)
    at com.mongodb.ServerMonitor$ServerMonitorRunnable.waitForNext(ServerMonitor.java:158)
    at com.mongodb.ServerMonitor$ServerMonitorRunnable.run(ServerMonitor.java:124)
    at java.lang.Thread.run(Unknown Source)

显然,您的项目没有正确打包。
请检查您的webapps/ROOT/WEB-INF/lib文件夹(位于tomcat目录下),查看您的依赖项是否已被复制。

此类存在问题

@组件
公共类API身份验证实现过滤器

用于
API身份验证
。在该类中有一个名为:

@覆盖
public void doFilter(ServletRequest ServletRequest,ServletResponse response,
FilterChain链)抛出IOException、ServletException

这是在验证
api
并在
请求头中预期
令牌/身份验证。
这里的
doFilter
方法也验证基本URL的API并给出响应
401
。tomcat没有任何问题

最后,我将一个条件放在
doFilter
方法中,如果它是
baseurl/openurl
,那么这些api将不会进行验证

本地计算机的我的基本URL:
http://localhost:8080/projects/


问题解决了!!!:)

你所说的基本URL是什么意思?您能确认吗?基本URL可以是:
/
或,
http://localhost:8080/
或,
https://domainName.com/
。这是tomcat在启动后端服务器时采用的默认设置。