首先,有两个Linux
服务器。
我想建立一个冗余的web server
在两台服务器上。
我在两台服务器上均等地安装了jre1.8.0。
并且我在两台服务器上均等地安装了相同的spring boot war文件。
顺便一提 ....
服务器1正常启动并正常工作。
服务器#2 上出现错误....
我已将服务器 # 1 上的 war 和 tomcat 复制到服务器 # 2。
我在服务器 #2 上仍然遇到错误。
复制结构几乎与所有设置相同......
我检查了jre路径.. 1.8.0 我检查了......哈......有什么问题?
我不明白为什么错误只出现在服务器 2 上,因为它是具有相同设置的相同文件。
这是错误日志。
:: Spring Boot :: (v2.1.0.BUILD-SNAPSHOT)
2018-09-17 16:31:35 [调试] [StartupInfoLogger.java]logStarting(53) :
使用 Spring Boot v2.1.0.BUILD-SNAPSHOT 运行,Spring
v5.1.0.构建快照
2018-09-17 16:31:35 [信息]
[SpringApplication.java]logStartupProfileInfo(701):以下内容
配置文件处于活动状态:dev
2018-09-17 16:31:35 [错误]
[LoggingFailureAnalysisReporter.java]报告(42):
应用程序无法启动
描述:
尝试调用方法 org.springframework.beans.factory.annotation.AnnotatedBeanDefinition.setRole(I)V 但该方法不存在。它的类 org.springframework.beans.factory.annotation.AnnotatedBeanDefinition 可从以下位置获取:
jar:file:{path}/WEB-INF/lib/spring-beans-5.1.0.RC3.jar!/org/springframework/beans/factory/annotation/AnnotatedBeanDefinition.class
jar:file:{path}/WEB-INF/lib/spring-beans-5.1.0.BUILD-SNAPSHOT.jar!/org/springframework/beans/factory/annotation/AnnotatedBeanDefinition.class
它是从以下位置加载的:
file:{path}/WEB-INF/lib/spring-beans-5.1.0.RC3.jar
Action:
更正应用程序的类路径,使其包含单个兼容版本
org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
17-Sep-2018 16:31:35.890 ½É°¢ [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[/url]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
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)
引起原因:java.lang.NoSuchMethodError:
org.springframework.beans.factory.annotation.AnnotatedBeanDefinition.setRole(I)V
在
org.springframework.context.annotation.AnnotationConfigUtils.processCommonDefinitionAnnotations(AnnotationConfigUtils.java:259)
在org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod(ConfigurationClassBeanDefinitionReader.java:228)
在org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:140)
在org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116)
在org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:327)
在org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)
在org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
在org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
在org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:693)
在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:530)
在org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
在 org.springframework.boot.SpringApplication.refresh(SpringApplication.java:797)
在 org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:421)
在 org.springframework.boot.SpringApplication.run(SpringApplication.java:340)
在org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:157)
在org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:137)
在 org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:91)
在org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:171)
在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5303)
在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
... 10 更多
2018 年 9 月 17 日 16:31:35.892 1/2°° [localhost-startStop-1]
org.apache.catalina.startup.HostConfig.deployWAR 部署 web 时出错
应用程序存档 {Path}.War java.lang.IllegalStateException:
ContainerBase.addChild:启动:org.apache.catalina.LifecycleException:
组件启动失败
[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/url]]
在org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:757)
在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
在 org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
在 org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在 java.util.concurrent.FutureTask.run(FutureTask.java:266)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
在 java.lang.Thread.run(Thread.java:748)
2018 年 9 月 17 日 16:31:35.893 [localhost-startStop-1]
org.apache.catalina.startup.HostConfig.deployWAR web部署
应用程序存档 {path}.war 已于 2018 年 9 月 17 日在 3,617 毫秒内完成
16:31:35.894 [localhost-startStop-1]
org.apache.catalina.startup.HostConfig.deployDirectory 部署 web
应用程序目录 {path}/ROOT 2018 年 9 月 17 日 16:31:35.924
[本地主机-startStop-1]
org.apache.catalina.startup.HostConfig.deployDirectory 的部署
Web 应用程序目录 {path}/ROOT 已在 30 毫秒内完成
2018 年 9 月 17 日 16:31:35.926 时间 [主要]
org.apache.coyote.AbstractProtocol.start 启动 ProtocolHandler
["http-nio-5555"] 2018 年 9 月 17 日 16:31:35.932 Á¤º¸ [main]
org.apache.coyote.AbstractProtocol.start 启动 ProtocolHandler
["ajp-nio-4444"] 2018 年 9 月 17 日 16:31:35.934 Á¤º¸ [main]
org.apache.catalina.startup.Catalina.start 服务器启动时间为 3701 毫秒