问题缘由:
在公司svn checkout下来一个SpringBoot的项目,使用Idea启动时总是报某些类找不到的Bug,但是同事使用Eclipse启动却完全正常。由此判断是Idea开发工具的问题,网上搜索一番,果然如此。
出现此问题的原因:
Idea对于POM文件依赖中的scope为provided的依赖包在编译时不会将其放入classpath中,故出现依赖包中某些class找不到的情况。
这是Intellij Idea的一个存在已久的Bug,不少人都跟Idea官方提交了此Bug,如下:
参考网址:https://youtrack.jetbrains.com/issue/IDEA-78410
时间显示为5年前。
但是此Bug直到2017年依然未得到解决,又有人提Bug,参考网址:https://youtrack.jetbrains.com/issue/IDEA-107048
可以看到使用Intellij Idea程序员的愤怒:
但是庆幸的是,此Bug到Intellij Idea2018版本中得到解决,参考网址:https://www.componentsource.com/zh-hans/news/feature-releases/2018/04/03/intellij-idea
在2018.1版本中的更新日志里有这样一段话:
在2018版本中增加了此功能:
把这个勾选上之后,provided的依赖包在编译时会被加入到classpath中,从而解决问题(在SpringBoot项目中这个复选框是默认勾选上的)。
结束语:
此Bug存在5年之久才被官方修复,这里面难道有故事?
来源:oschina
链接:https://my.oschina.net/u/2608182/blog/2251901