灵异现象(一):为什么POM文件一样,只有我的架包出错

来源:互联网 发布:养羊软件 编辑:程序博客网 时间:2024/06/02 05:00

两台机器,一模一样的操作系统,一模一样的JDK,一模一样的Eclipse,一模一样的POM文件,一模一样的代码,但是一台机器运行正常,另一台机器却提示如下错误:

java.util.ServiceConfigurationError: org.jclouds.apis.ApiMetadata: Provider org.jclouds.openstack.keystone.v2_0.KeystoneApiMetadata could not be instantiated    at java.util.ServiceLoader.fail(Unknown Source)    ……Caused by: java.lang.NoClassDefFoundError: com/google/common/base/Objects$ToStringHelper   

查看Eclipse编译路径,发现存在guava 22.0版本,显然这是版本升级导致的问题,必须要切换架包才能解决问题,所以应该所有的机器都无法正常运行才对,但为什么他的机器运行正常呢?

再次核对POM文件,确实一模一样;
核对调用的代码,依然是一模一样;
继续核对编译路径,发现引入的架包也一模一样;
继续检查编译路径,切换到编译路径中的项目标签,突然发现了异常,如下图所示:
引入的项目
原来如此!切换到引入的项目,发现此项目中引入了guava 16.0版本,排除引入的项目,最后所有的机器终于都报错了!

追问为何引入此项目的原因,回答是按Eclipse提示的错误,就随手一点,呵呵,这随手一点,就产生了灵异现象。

结论

在实际的运作中,我们经常发现,一台机器运行正常的代码,切换到其他机器就发生灵异现象,无法正常运行,但只要仔细排除问题,终究能找到问题的根源。

阅读全文
0 0
原创粉丝点击