淘淘商城第119讲——使用maven的tomcat插件来部署使用到ActiveMQ的工程时,发现报了一个方法未找到的错误
发布日期:2021-06-30 17:55:54 浏览次数:2 分类:技术文章

本文共 2802 字,大约阅读时间需要 9 分钟。

问题描述

今儿个,当我使用maven的tomcat插件来热部署一个用到ActiveMQ消息中间件的服务层工程时(例如taotao-search),遇到了一个错误,说是方法未找到,这个我是从Eclipse控制台打印出的错误信息中看出来的。

[INFO] ------------------------------------------------------------------------[INFO] Reactor Summary for taotao-search 0.0.1-SNAPSHOT:[INFO] [INFO] taotao-search ...................................... SUCCESS [  0.560 s][INFO] taotao-search-interface ............................ SUCCESS [ 13.127 s][INFO] taotao-search-service .............................. FAILURE [  4.558 s][INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time:  23.269 s[INFO] Finished at: 2020-11-24T08:41:39+08:00[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project taotao-search-service: Compilation failure: Compilation failure: [ERROR] /D:/Practise/taotao/taotao-search/taotao-search-service/src/main/java/com/taotao/search/service/impl/SearchServiceImpl.java:[96,9] 方法不会覆盖或实现超类型的方法[ERROR] /D:/Practise/taotao/taotao-search/taotao-search-service/src/main/java/com/taotao/search/listener/ItemChangeMessageListener.java:[34,38] 找不到符号[ERROR]   符号:   方法 updateSearchItemById(java.lang.Long)[ERROR]   位置: 类型为com.taotao.search.service.SearchService的变量 searchService[ERROR] -> [Help 1][ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException[ERROR] [ERROR] After correcting the problems, you can resume the build with the command[ERROR]   mvn 
-rf :taotao-search-service

很奇怪的一个错误,在本地开发与测试时,是没有任何问题的,但是一部署就会报以上什么方法未找到的错误,真的很令人郁闷啊😭

报错原因

哈哈哈!报错原因找到了。简单来说,就是工程中用到的ActiveMQ消息中间件的版本有问题。

我们要部署的服务层工程使用的ActiveMQ消息中间件的版本号在父工程(例如taotao-parent)已经统一定义好了,如下图所示。

在这里插入图片描述
很显然,要部署的服务层工程使用的ActiveMQ消息中间件的版本号是5.13.0,如下图所示。
在这里插入图片描述
这个版本的jar包(即activemq-all-5.13.0.jar)里面有Spring相关的jar包,相当于是把Spring相关的jar包又重新做了一份并拷贝到了它里面,然而它里面用到的Spring不是4.2.4.RELEASE这个版本的,其实我也不知道它里面用到的Spring是哪个版本,但反正不是4.2.4.RELEASE这个版本。冲突就这样出现了,因为我们要部署的服务层工程使用的Spring正是4.2.4.RELEASE这个版本的,这可以从其所继承的父工程的pom文件中得知。
在这里插入图片描述
既然冲突都出现了,那么工程肯定是不会部署成功的!

解决方案

报错原因找到之后,问题就很容易解决了。那就是将工程中使用到的ActiveMQ消息中间件的版本号修改一下,改低一点就可以了。这里,我将其修改为了5.11.2,这个版本的jar包(即activemq-all-5.11.2.jar)里面没有Spring相关的包结构,比较的纯净!

在这里插入图片描述
注意:当我们修改了父工程的pom文件,尤其是修改了版本号之后,一定要记得先clean一下父工程再重新install一下,如果你不这样做的话,那么后续会碰到一些问题会搞死你!
在这里插入图片描述
修改完了之后,再使用maven的tomcat插件来热部署服务层工程,部署之前咱还得重新install一下该工程,否则部署必然不会成功。真的不骗你哟😊!部署成功之后,你会看到Eclipse控制台打印出了如下图所示的成功消息哟!
在这里插入图片描述

转载地址:https://liayun.blog.csdn.net/article/details/110059392 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Spring注解驱动开发第1讲——今天,我们来聊聊关于Spring注解驱动开发的那些事儿!
下一篇:淘淘商城第117讲——使用maven的tomcat插件来实现Tomcat热部署

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月16日 13时31分35秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章