版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bamboolsu/article/details/79798011
一, 有的是jar包冲突
问题:
servlet-api的jar包和springboot的启动jar包产生冲突
servlet-api.jar
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
springBoot启动jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
解决办法:
把servlet-api的依赖删除,启动正常
二,
使用springboot的时候,通过点击点击Application类中的类方法直接运行的时候一直报以下错误:
找问题的时候,通过这篇文章的:http://stackoverflow.com/questions/21783391/spring-boot-unable-to-start-embeddedwebapplicationcontext-due-to-missing-embedd?rq=1
看到有个老外说在代码中强制声明一个EmbeddedServletContainerFactory,代码如下:
- @Bean
- public EmbeddedServletContainerFactory servletContainer() {
- TomcatEmbeddedServletContainerFactory factory =
- new TomcatEmbeddedServletContainerFactory();
- return factory;
- }
第一个办法:降低springboot的版本
第二个办法:强制声明jetty的版本为本机jdk适配的,如我本机jdk为1.7,那我强制声明jett的版本为:
- <jetty.version>9.2.17.v20160517</jetty.version>
花了几个小时,哎。最后吐槽下,报错信息能不能精确点呢。
三,
电脑上面的QQ采用的是随机端口号,我的项目采用的是8082,QQ升级后随机分配端口,而我的项目当时没有启动,所以QQ占用了8082端口,导致项目不能启动。
解决办法很简单 退出QQ 然后先启动项目占用端口,重新登录QQ的时候,8082占用时它会重新分配端口。