zoukankan      html  css  js  c++  java
  • Java 上传文件到 SFTP 抛异常 java.lang.NoClassDefFoundError: Could not initialize class sun.security.ec.SunEC 的解决办法

    最近从 Op 那里报来一个问题,说是SFTP上传文件不成功。拿到的 Exception 如下:

    Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.security.ec.SunEC
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.7.0_111]
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[?:1.7.0_111]
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.7.0_111]

    奇了怪了,以前都好好,怎么突然找不到 Class 了,上客户环境一看,升级了 JDK:

    java version "1.7.0_111"
    OpenJDK Runtime Environment (rhel-2.6.7.2.el6_8-x86_64 u111-b01)
    OpenJDK 64-Bit Server VM (build 24.111-b01, mixed mode)

    那也不至于找不到 Class 啊,所需要的 SunEC.jar 好好的放在 ext 目录呢。

    最后还是 Google 大神帮助,在 JDK 的 问题列表找到原因,OpenJDK 由于版权问题,去掉了某些 Oracle JDK 才有的东西,而 SunEC 被 nss 替换了,而且 nss 需要更新版本。

    https://bugzilla.redhat.com/show_bug.cgi?id=1332867

    在客户机器上升级 nss 为 3.21 后,问题解决。

    nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64
    nss-3.21.0-8.el6.x86_64
    nss-tools-3.21.0-8.el6.x86_64

  • 相关阅读:
    (31)对象的克隆
    (30)批处理文件.bat
    06.v-on的修饰符
    06.v-on参数问题
    06.2修饰符补充
    06.1v-on基础+-.
    03.data数据对象
    02.el挂载点
    02.5v-pre指令
    02.4v-text指令
  • 原文地址:https://www.cnblogs.com/seasonsluo/p/6004431.html
Copyright © 2011-2022 走看看