奇怪的idea build的问题(其实奇怪的是我)

2,839 阅读3分钟

出现问题

本穷逼由于换了工作环境,然后公司又不给配台式windows或者MacBook,只给了一台老掉牙的Dell笔电,所以咬咬牙跺跺脚就买了一台新的MacBookPro(此处应该有图)。

买电脑一时爽,重装软件悔断肠。Java程序狗必装的软件当然是idea,idea的注释模版,快捷键,代码样式,插件,颜色等配置是祖传秘方,因此我早有准备,在老机器上export了settings文件,此刻只要import进新电脑中的idea就大功告成了。

新的一周,我愉快地导入新公司的第一个项目,配置好启动信息,然后点启动,身子后仰,美滋滋地准备debug看逻辑。

结果蹦出半页的红字:

还没到启动阶段呢,build模块的时候就报错了,原因是找不到Jar里的类。

排查原因

这就奇怪了啊,我idea里面没有任何的错误,甚至maven install都是成功的。遂询问同事有什么特殊配置,答案是没有。是不是我idea的build相关的配置有问题呢,也不是,这是新装的idea,我还没做任何个性化的配置,和同事的idea配置相比,也没有任何问题。

难道是idea本身的问题?但是我的idea是官网下载的,总不能。。。

突然灵光一闪,是不是我导入自己settings文件夹导致的??

于是来到idea初始化导入项目页面

点击Restore Default Settings,重制所有配置项,然后再次启动导入项目,启动项目,成功了!!问题定位到了,就是这个settings文件夹的问题!

我此前对这个并没有深究,只是Google出来的迁移自己idea配置的方法,此刻我们来仔细看看这个文件夹里面到底有什么东西!

大部分文件夹都是见名知义,大家自己点进去看看就知道了,我们重点看options文件夹,点进去看看。

里面有个path.macros.xml文件,内容如下:

这里面的MAVEN_REPOSITORY的值还是我之前那台电脑上的值,这非常可疑!很有可能就是idea通过这行配置在build的时候去指定位置着JAR包依赖,这样一来显然是找不到的。

继续打开jdk.table.xml文件:

JDK的配置也都是老电脑上面的!我现在用的可是jdk1.8.0_181啊!我开始流汗了。。。原来这些文件里有这么多的坑,难怪idea会出问题。。

把上述两个文件统统删掉,再导入settings文件夹,启动项目,成功!

马后炮

倒过来想想,其实在到处idea配置的时候,也有可以勾选导出项的地方:

当时如果仔细看一下,只选择自己要的选项,而不是无脑地“Select All”,也就不会这样翻车了。

总结

楼主作为资深代码🐶,居然会犯这种不求甚解导致的错误,还企图帅锅给idea官方,真是恬不知耻。

所以说,作为软件工程师,就要有工程师的态度,凡事一定要亲自了解其原理,再不济也要查看官方文档才可以动手,切不可面向百度面向Google编程,变成一个不会思考漏洞百出的搬砖工。也不可以用很多很快这样的文学形容词来描述严谨的问题,凡事要能给出准确的数字和论证。