zoukankan      html  css  js  c++  java
  • 同一个Project从myeclipse8.5到myeclipse6.5的移植错误

    这里一个javaproject(KettleDemo1)源代码是在myeclipse8.5开发的,直接指向main方法run 正常。之后卸载了myeclipse8.5安装了myeclipse6.5

    在myeclipse6.5中导入已存在的project(KettleDemo1),执行报错如下图:

     分析错误信息:

    Exception in thread "main" java.lang.NoSuchFieldError: DAYS --(1)java错误
    at org.pentaho.di.trans.Trans.waitUntilFinished(Trans.java:1123) --(2)tran错误
    at kettle.ExecuteLocalTran.main(ExecuteLocalTran.java:70) --(3)java错误

    解决方法:其实按照大家的习惯,直接看第一个错误就可以,但是找不到第一个错误的解决方法的时候往往就要看下面的错误,外部错误第3个是由于第2个错误引起的,但是这里我发现java与kettle集成的包原封不动的拿过来在8.5中是正常的,在6.5中就不正常了吗?所以可以排除这些。那么现在就是第一个的错误了。

    带着第1个错误去百度、谷歌找了很多人,类似的Exception in thread "main" java.lang.NoSuchFieldError这样的错误,大家的回答也都是配置文件变量名错误,少包这几种解释,发现是在不靠谱。解决问题之前不要盲目,需要思考;6.5和8.5虽说有区别但是也不至于这么大吧,应该还是环境的问题,那么这里就是java的环境问题了。首先想到了myeclipse的版本问题,于是就看了myeclipse中java的jdk版本。

    从上图可以看出来,之前默认的的就是myeclipse6.5自定义的jdk(更换默认在前面打勾),我们点击add,添加一个我们自己的JRE,如下图

    点击“OK”

    下面重新执行java程序,OK没有问题,这个就是JRE的版本问题了,myeclipse默认的版本一般是比较低级的,这个时候应用我们自己的jre就可以解决这个问题了。

    英文名:kingwang & Email :kingstudy@vip.qq.com
  • 相关阅读:
    CSRF小结
    代码注入小结
    文件上传漏洞小结
    解决Burpsuite_pro_v1.6破解版https证书导入问题
    Java HTTP 组件库选型看这篇就够了
    趣图:我正在演示一个功能,但没有达到预期效果
    阅读源码的利器——Intellij-IDEA-Replace-in-Path-使用技巧
    分享一些好用的 Chrome 插件!
    趣图:程序员发量的变化过程
    Spring循环依赖的三种方式
  • 原文地址:https://www.cnblogs.com/wxjnew/p/3092663.html
Copyright © 2011-2022 走看看