首先,有两个Linux
服务器。
我想在两台服务器上构建一个冗余的web server
。
我在两台服务器上均安装了jre1.8.0。 然后,我在两个服务器上平均安装了相同的spring boot war文件。
顺便说一句...。 服务器1正常启动并正常工作。 服务器#2上的错误....
我已将服务器1上的war和tomcat复制到服务器2。 在服务器2上仍然出现错误。
复制结构与所有设置几乎相同...
我检查了.. 1.8.0的jre路径,然后... ha ......是什么问题?
我无法弄清楚为什么错误仅出现在服务器2上,因为它是具有相同设置的相同文件。
这是错误日志。
:: Spring Boot ::(v2.1.0.BUILD-SNAPSHOT)
2018-09-17 16:31:35 [DEBUG] [StartupInfoLogger.java] logStarting(53): 使用Spring Boot v2.1.0.BUILD-SNAPSHOT运行 v5.1.0.BUILD-SNAPSHOT
2018-09-17 16:31:35 [INFO] [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
操作:
更正应用程序的类路径,使其包含单个兼容版本的
org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
17-Sep-2018 16:31:35.890 ½É°¢ [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild:
开始:
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½É°¢[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR部署Web时出错 应用档案{Path}。战争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)
17-Sep-2018 16:31:35.893Á¤º¸[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR网站部署 应用程序存档{path} .war已在3,617毫秒内完成2018年9月17日 16:31:35.894Á¤º¸[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory部署网站 应用程序目录{path} / ROOT 2018年9月17日16:31:35.924 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory的部署 Web应用程序目录{path} / ROOT已在30毫秒内完成 2018年9月17日16:31:35.926Á¤º¸[main] 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毫秒内启动服务器