异常描述
之前项目是dubbo的,分为两个服务,service数据层和web请求控制,使用dubbo互相调用的,现在要把dubbo去掉,使用SpringCloud的eureka了,要把两个合并成一个项目,这里并不是要把所有代码复制过去,而是把service使用maven引用到web项目里面,然后修改对应的配置和包路劲,启动的时候,竟然报错了,编译是没有任何问题的。
1 | 10:02:26.349 logback [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet Engine: Apache Tomcat/8.5.23 |
异常分析
刚开始有点蒙蔽,之前项目一直可以运行,怎么就报错了呢,日了狗了,于是乎各种百度谷歌的,一顿查,基本上两个答案:
- servlet-api-xxx.jar包冲突
- servlet-api-xxx.jar版本问题
各种修改了以后,根本解决不了,看来只能靠自己了,有开始检查pom.xml,目前只能从pom.xml入手了检查了:
1 |
|
我家pom是这样的,发现缺少两个属性配置的,没有<groupId>xxx</groupId>
和<packaging>jar</packaging>
。
其实之前都看到这个问题了,因为这项目是我修改别人的代码,就没在乎这个,以为没关系,然后我就加上试试看,是不是这个问题:
1 | <artifactId>dfs-api</artifactId> |
再重新编译一次启动试试看,卧槽,竟然成功了,就这个破问题,解决了一天!!!
解决办法
问题就出现在pom配置不严谨,该有的还是要有的,不要瞎JB省略。
在pom中添加<groupId>xxx</groupId>
和<packaging>jar</packaging>
就可以正常启动了:
1 | <artifactId>dfs-api</artifactId> |