spring不同包下的bean命名冲突,哪位大神能帮忙解决下。

项目分为多个模块,在eclipse中正常启动。在idea中启动项目,遇到了如下的问题:java.lang.IllegalStateException: Annotation-specified bean name 'dictOrganizationMapper' for bean class [msun.server.mapper.hbp.DictOrganizationMapper] conflicts with existing, non-compatible bean definition of same name and class [msun.server.mapper.DictOrganizationMapper](冲突的两个类属于不同的模块)
(不能通过改bean名称的方式来解决问题)

不能改类名吗,类名冲突

错误不是说了吗?两个class的bean名称冲突了。Spring注入的时候如果通过Bean名称获取,就不知道是哪个Bean了。
你手动给其中一个bean写个新的名称应该就好了。
不过我建议两个bean都重新命名,

两个的id名子相同,起了冲突;如果你在创建时没有指定id,默认是类名首字母小写作为id的值,由于不同包下两个类的名字是相同的,也会报这个错。

或许可以在Spring加载JavaBean之前利用反射来动态修改一下两个Bean名

给其中一个价格的注解加上一个不同的ID名

这个和Eclipse和idea没啥关系吧,在其中一个好用,在另一个只要你正确导入了,就应该没有问题,是不是你之前两个Bean名称相同的文件原本是没有关系的,后来你改了有关系的版本放到idea上跑了?

尝试 maven clean 下。

在启动类试试这个注解,@ComponentScan