在写新的springcloud项目时,启动报错Correct the classpath of your application so that it contains a single, compatible version of ........,大意是确保jar包的版本兼容且唯一.
为什么会出现这种情况呢?因为父模块声明了某个jar包的版本,子模块导入时不应再声明version,不然会冲突.当然,一般人也不会傻傻地再声明版本,复杂的情况是:父模块声明的jar包内部包含的某个jar包被子模块导入,但子模块不知道父模块包含此jar包,才会再次声明version.
下面以springcloud的注册中心模块举例:
父模块le,注册中心模块le-registry,解释全在图上: