Java学习之错误记录(6)------idea报错import org.apache.commons.lang.StringUtils;错误:

遇到的问题描述:

今天git一个公司的项目,git完成后报错,找不到org.apache.commons.lang.StringUtils这个类,上网一百度,全说是因为没有导入这个依赖,还有的说是需要再file->projects structure->libraries中手动引入。但是我查看了一下我的libraries中,已经引入了commons-lang:2.6,这我就瞬间懵逼了,这是咋回事呢?

 

寻找问题原因

在我这个项目当中,还有另外一个子模块,但是它的org.apache.commons.lang.StringUtils是正常引入的,那么,就应该不是依赖引入的问题,因为两个包的依赖都在继承父pom中已经引入,这个时候我查看了另外一个子模块的pom包,发现它是这样的

而另外一个木块是这样的:

(查看pom包的依赖在idea有个很好用的工具,叫做Maven Helper,还可以解决包的冲突啥的),从而知道了问题的造成原因。出问题的项目是由于依赖编译范围是runtime的缘故造成的。

 

解决方法

找到问题原因后,再找解决办法,在每个模块都有一个文件xxxx.iml,记录了本模块引入依赖的编译依赖范围,打开该文件,找到commons-lang,删掉依赖编译范围,问题解决。

但是这个方法有弊端,重新引入之后依旧无法通过maven的编译,我再次想办法

找到commons-lang点击右键,跳到该依赖的源文件。

删除该scope,问题从根本上解决。


版权声明:本文为u013062192原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。