报错信息如下
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.4.RELEASE)
2019-05-09 17:18:51.171 INFO 8092 --- [ost-startStop-1] c.cgzx.certificates.Ser
vletInitializer : Starting ServletInitializer on Msab324nxezj with PID 8092 (D
:\software\apache-tomcat-7.0.88\webapps\certificates\WEB-INF\classes started by
ghj in D:\software\apache-tomcat-7.0.88\bin)
2019-05-09 17:18:51.177 INFO 8092 --- [ost-startStop-1] c.cgzx.certificates.Ser
vletInitializer : No active profile set, falling back to default profiles: def
ault
2019-05-09 17:18:52.827 WARN 8092 --- [ost-startStop-1] ConfigServletWebServerA
pplicationContext : Exception encountered during context initialization - cancel
ling refresh attempt: org.springframework.beans.factory.BeanCreationException: E
rror creating bean with name 'defaultValidator' defined in class path resource [
org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.cl
ass]: Bean instantiation via factory method failed; nested exception is org.spri
ngframework.beans.BeanInstantiationException: Failed to instantiate [org.springf
ramework.validation.beanvalidation.LocalValidatorFactoryBean]: Factory method 'd
efaultValidator' threw exception; nested exception is java.lang.NoClassDefFoundE
rror: javax/el/ELManager
2019-05-09 17:18:52.843 ERROR 8092 --- [ost-startStop-1] o.s.boot.SpringApplicat
ion : Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean wit
h name 'defaultValidator' defined in class path resource [org/springframework/bo
ot/autoconfigure/validation/ValidationAutoConfiguration.class]: Bean instantiati
on via factory method failed; nested exception is org.springframework.beans.Bean
InstantiationException: Failed to instantiate [org.springframework.validation.be
anvalidation.LocalValidatorFactoryBean]: Factory method 'defaultValidator' threw
exception; nested exception is java.lang.NoClassDefFoundError: javax/el/ELManag
er
at org.springframework.beans.factory.support.ConstructorResolver.instant
iate(ConstructorResolver.java:627) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEAS
E]
at org.springframework.beans.factory.support.ConstructorResolver.instant
iateUsingFactoryMethod(ConstructorResolver.java:456) ~[spring-beans-5.1.6.RELEAS
E.jar:5.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:13
21) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1160) ~[sprin
g-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans
-5.1.6.RELEASE.jar:5.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5
.1.6.RELEASE.jar:5.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$
doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6
.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.6.RELEA
SE.jar:5.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBe
an(AbstractBeanFactory.java:318) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:199) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.
preInstantiateSingletons(DefaultListableBeanFactory.java:849) ~[spring-beans-5.1
.6.RELEASE.jar:5.1.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finish
BeanFactoryInitialization(AbstractApplicationContext.java:877) ~[spring-context-
5.1.6.RELEASE.jar:5.1.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:549) ~[spring-context-5.1.6.RELEASE.jar:5.1.6.
RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicat
ionContext.refresh(ServletWebServerApplicationContext.java:142) ~[spring-boot-2.
1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.
java:775) ~[spring-boot-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringAppli
cation.java:397) ~[spring-boot-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java
:316) ~[spring-boot-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitial
izer.run(SpringBootServletInitializer.java:157) [spring-boot-2.1.4.RELEASE.jar:2
.1.4.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitial
izer.createRootApplicationContext(SpringBootServletInitializer.java:137) [spring
-boot-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitial
izer.onStartup(SpringBootServletInitializer.java:91) [spring-boot-2.1.4.RELEASE.
jar:2.1.4.RELEASE]
at org.springframework.web.SpringServletContainerInitializer.onStartup(S
pringServletContainerInitializer.java:171) [spring-web-5.1.6.RELEASE.jar:5.1.6.R
ELEASE]
at org.apache.catalina.core.StandardContext.startInternal(StandardContex
t.java:5669) [catalina.jar:7.0.88]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
[catalina.jar:7.0.88]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:1017) [catalina.jar:7.0.88]
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:99
3) [catalina.jar:7.0.88]
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
[catalina.jar:7.0.88]
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127
) [catalina.jar:7.0.88]
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
2021) [catalina.jar:7.0.88]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:51
1) [na:1.8.0_131]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_13
1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1142) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:617) [na:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to insta
ntiate [org.springframework.validation.beanvalidation.LocalValidatorFactoryBean]
: Factory method 'defaultValidator' threw exception; nested exception is java.la
ng.NoClassDefFoundError: javax/el/ELManager
at org.springframework.beans.factory.support.SimpleInstantiationStrategy
.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.1.6.RELEASE.
jar:5.1.6.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.instant
iate(ConstructorResolver.java:622) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEAS
E]
... 32 common frames omitted
Caused by: java.lang.NoClassDefFoundError: javax/el/ELManager
at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInt
erpolator.buildExpressionFactory(ResourceBundleMessageInterpolator.java:88) ~[hi
bernate-validator-6.0.16.Final.jar:6.0.16.Final]
at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInt
erpolator.<init>(ResourceBundleMessageInterpolator.java:47) ~[hibernate-validato
r-6.0.16.Final.jar:6.0.16.Final]
at org.hibernate.validator.internal.engine.ConfigurationImpl.getDefaultM
essageInterpolator(ConfigurationImpl.java:474) ~[hibernate-validator-6.0.16.Fina
l.jar:6.0.16.Final]
at org.springframework.boot.validation.MessageInterpolatorFactory.getObj
ect(MessageInterpolatorFactory.java:54) ~[spring-boot-2.1.4.RELEASE.jar:2.1.4.RE
LEASE]
at org.springframework.boot.autoconfigure.validation.ValidationAutoConfi
guration.defaultValidator(ValidationAutoConfiguration.java:58) ~[spring-boot-aut
oconfigure-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.
0_131]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:62) ~[na:1.8.0_131]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43) ~[na:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_131]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy
.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.1.6.RELEASE.
jar:5.1.6.RELEASE]
... 33 common frames omitted
五月 09, 2019 5:18:52 下午 org.apache.catalina.core.ContainerBase addChildIntern
al
严重: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngin
e[Catalina].StandardHost[localhost].StandardContext[/certificates]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:1017)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:99
3)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127
)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
2021)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:51
1)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creati
ng bean with name 'defaultValidator' defined in class path resource [org/springf
ramework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]: Bean
instantiation via factory method failed; nested exception is org.springframework
.beans.BeanInstantiationException: Failed to instantiate [org.springframework.va
lidation.beanvalidation.LocalValidatorFactoryBean]: Factory method 'defaultValid
ator' threw exception; nested exception is java.lang.NoClassDefFoundError: javax
/el/ELManager
at org.springframework.beans.factory.support.ConstructorResolver.instant
iate(ConstructorResolver.java:627)
at org.springframework.beans.factory.support.ConstructorResolver.instant
iateUsingFactoryMethod(ConstructorResolver.java:456)
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:13
21)
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1160)
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:515)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$
doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBe
an(AbstractBeanFactory.java:318)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.
preInstantiateSingletons(DefaultListableBeanFactory.java:849)
at org.springframework.context.support.AbstractApplicationContext.finish
BeanFactoryInitialization(AbstractApplicationContext.java:877)
at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:549)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicat
ionContext.refresh(ServletWebServerApplicationContext.java:142)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.
java:775)
at org.springframework.boot.SpringApplication.refreshContext(SpringAppli
cation.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java
:316)
at org.springframework.boot.web.servlet.support.SpringBootServletInitial
izer.run(SpringBootServletInitializer.java:157)
at org.springframework.boot.web.servlet.support.SpringBootServletInitial
izer.createRootApplicationContext(SpringBootServletInitializer.java:137)
at org.springframework.boot.web.servlet.support.SpringBootServletInitial
izer.onStartup(SpringBootServletInitializer.java:91)
at org.springframework.web.SpringServletContainerInitializer.onStartup(S
pringServletContainerInitializer.java:171)
at org.apache.catalina.core.StandardContext.startInternal(StandardContex
t.java:5669)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
... 10 more
Caused by: org.springframework.beans.BeanInstantiationException: Failed to insta
ntiate [org.springframework.validation.beanvalidation.LocalValidatorFactoryBean]
: Factory method 'defaultValidator' threw exception; nested exception is java.la
ng.NoClassDefFoundError: javax/el/ELManager
at org.springframework.beans.factory.support.SimpleInstantiationStrategy
.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instant
iate(ConstructorResolver.java:622)
... 32 more
Caused by: java.lang.NoClassDefFoundError: javax/el/ELManager
at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInt
erpolator.buildExpressionFactory(ResourceBundleMessageInterpolator.java:88)
at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInt
erpolator.<init>(ResourceBundleMessageInterpolator.java:47)
at org.hibernate.validator.internal.engine.ConfigurationImpl.getDefaultM
essageInterpolator(ConfigurationImpl.java:474)
at org.springframework.boot.validation.MessageInterpolatorFactory.getObj
ect(MessageInterpolatorFactory.java:54)
at org.springframework.boot.autoconfigure.validation.ValidationAutoConfi
guration.defaultValidator(ValidationAutoConfiguration.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy
.instantiate(SimpleInstantiationStrategy.java:154)
... 33 more
五月 09, 2019 5:18:52 下午 org.apache.catalina.startup.HostConfig deployWAR
严重: Error deploying web application archive D:\software\apache-tomcat-7.0.88\w
ebapps\certificates.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catal
ina.LifecycleException: Failed to start component [StandardEngine[Catalina].Stan
dardHost[localhost].StandardContext[/certificates]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:1021)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:99
3)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127
)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
2021)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:51
1)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:617)
at java.lang.Thread.run(Thread.java:748)
五月 09, 2019 5:18:52 下午 org.apache.catalina.startup.HostConfig deployWAR
信息: Deployment of web application archive D:\software\apache-tomcat-7.0.88\web
apps\certificates.war has finished in 4,259 ms
五月 09, 2019 5:18:52 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-apr-8080"]
五月 09, 2019 5:18:52 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-apr-8009"]
五月 09, 2019 5:18:52 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 4341 ms
解决办法一
网上查了很多资料,都没有解决问题,解决问题的思路:
- 先部署别的war包进行测试,发现tomcat可以正常启动并访问,排除了tomcat的问题,
- 项目能在idea上运行并访问,说明项目本身也没有问题,
- 那么可能出现问题的环节就是打war包和项目配置问题,因为别的项目打成war包目的步骤都是一样的,并且都能启动成功,说以也不是打包的问题,
- 后来通过对比之前的项目springboot的版本和当前版本发现了差异,之前在tomcat7上成功运行的项目springboot版本为1.5.4,
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
- 而当前的springboot版本为2.1.4版本;
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
将pom.xml中的版本改为1.5.9,然后重新更新下maven依赖即可成功启动
补充解决办法二
- 在pom.xml文件中添加以下依赖
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.2.Final</version>
</dependency>