Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2023-07-29 16:47:48.362 ERROR 50 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
com.mongodb.connection.ClusterId.<init>(ClusterId.java:47)
The following method did not exist:
org.bson.types.ObjectId.toHexString()Ljava/lang/String;
The method's class, org.bson.types.ObjectId, is available from the following locations:
jar:file:/usr/tomcat/webapps/ROOT/WEB-INF/lib/gbasedbtjdbc_3.3.0_2_36477d.jar!/org/bson/types/ObjectId.class
jar:file:/usr/tomcat/webapps/ROOT/WEB-INF/lib/mongo-java-driver-3.11.1.jar!/org/bson/types/ObjectId.class
jar:file:/usr/tomcat/webapps/ROOT/WEB-INF/lib/bson-3.11.1.jar!/org/bson/types/ObjectId.class
It was loaded from the following location:
file:/usr/tomcat/webapps/ROOT/WEB-INF/lib/gbasedbtjdbc_3.3.0_2_36477d.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of org.bson.types.ObjectId
29-Jul-2023 16:47:48.366 SEVERE [main] org.apache.catalina.startup.HostConfig.deployDirectory Error deploying web application directory [/usr/tomcat/webapps/ROOT]
java.lang.IllegalStateException: Error starting child
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1185)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1933)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1095)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:477)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
... 37 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'restCloudContextAware' defined in file [/usr/tomcat/webapps/ROOT/WEB-INF/classes/cn/restcloud/springboot/config/RestCloudContextAware.class]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.bson.types.ObjectId.toHexString()Ljava/lang/String;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:152)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:132)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:92)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:172)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5220)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
... 38 more
Caused by: java.lang.NoSuchMethodError: org.bson.types.ObjectId.toHexString()Ljava/lang/String;
at com.mongodb.connection.ClusterId.<init>(ClusterId.java:47)
at com.mongodb.connection.DefaultClusterFactory.createCluster(DefaultClusterFactory.java:182)
at com.mongodb.Mongo.createCluster(Mongo.java:749)
at com.mongodb.Mongo.createCluster(Mongo.java:735)
at com.mongodb.Mongo.<init>(Mongo.java:305)
at com.mongodb.Mongo.<init>(Mongo.java:300)
at com.mongodb.Mongo.<init>(Mongo.java:283)
at com.mongodb.MongoClient.<init>(MongoClient.java:271)
at cn.restcloud.springboot.config.RestCloudContextAware.getPlatformMongoClient(RestCloudContextAware.java:128)
at cn.restcloud.springboot.config.RestCloudContextAware.setApplicationContext(RestCloudContextAware.java:48)
at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:123)
at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:100)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:416)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1795)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595)
... 56 more
29-Jul-2023 16:47:48.377 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/tomcat/webapps/ROOT] has finished in [44,298] ms
29-Jul-2023 16:47:48.395 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
29-Jul-2023 16:47:48.440 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [44566] milliseconds
你这个是升级的吧? Caused by: java.lang.NoSuchMethodError: org.bson.types.ObjectId.toHexString()Ljava/lang/String
这个提示是mongodb的驱动对,可以在lib目录下看看mongodb的那几个jar包是不是有多个?
不是升级,是全新安装。命令如下: -- 2.4版本 docker pull restcloud/restcloud-etl:V2.4 docker run -d --restart=always --restart=on-failure:5 --privileged=true --name restcloud-etl-V2.4 -v /Users/cary/Documents/1_env/restcloud/mongodb/db -p 1105:8080 restcloud/restcloud-etl:V2.4
另外我改为2.3, 同样环境在win和mac上都启动成功,如下命令: -- 2.3版本 docker pull restcloud/restcloud-etl:V2.3 docker run -d --restart=always --restart=on-failure:5 --privileged=true --name restcloud-etl-V2.3 -v /Users/cary/Documents/1_env/restcloud/mongodb/db -p 1104:8080 restcloud/restcloud-etl:V2.3
Docker方式的部署咱们这边可以先用2.3版本的,或者用一键部署包的方式部署2.4版本,你这边遇到的问题我们技术这边排查一下原因。