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
  • 相关阅读:
    个人的购物项目 第一期
    中小企业信贷风险补偿综合管理系统
    市场部信息管理系统
    mono+jexus 之连接数据库
    mono+jexus 验证码不显示:System.Drawing
    CentOS安装epel
    system 函数
    tcp/ip协议listen函数中backlog参数的含义与php-fpm的502 Bad Gateway
    tengine-2.1.0 + lua + base64
    tengine-2.1.0 + GraphicsMagick-1.3.20
  • 原文地址:https://www.cnblogs.com/wxjnew/p/3092663.html
Copyright © 2011-2022 走看看