未找到sun.security.ssl.SSLSessionImpl

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未找到sun.security.ssl.SSLSessionImpl相关的知识,希望对你有一定的参考价值。

当我尝试使用okhttpjavax.ws.rs.client.Client时,会发生以下错误

java.lang.NoSuchMethodError:sun.security.ssl.SSLSessionImpl。(Lsun / security / ssl / ProtocolVersion; Lsun / security / ssl / CipherSuite; Ljava / util / Collection; Lsun / security / ssl / SessionId; Ljava / lang / String ;我)V

在sun.security.ssl包中搜索,没有SSLSessionImpl类

我使用的是Mac OS 10.13.3(17D102)

java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

并在Glassfish 5.0上运行我的战争

的build.gradle

buildscript {
    ext.kotlin_version = '1.2.30'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
    }
}

group 'invoice-administration-api'
version '1.0-SNAPSHOT'

apply plugin: 'idea'
apply plugin: 'war'
apply plugin: 'kotlin'
apply plugin: 'kotlin-jpa'
apply plugin: 'kotlin-allopen'

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    compileOnly group: 'javax', name: 'javaee-api', version: '8.0'
    compile group: 'org.hibernate', name: 'hibernate-core', version: '5.2.13.Final'
    compile group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: '2.26'
}

allOpen {
    annotation('javax.ejb.Stateless')
}

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
答案

编辑:因为这是“正确答案”,Java 1.8.0-151将缺乏安全补丁。我不建议降级到这样一个旧的Java版本。

请查看Payara项目或Glassfish的新版本。

--

尝试将Java版本降级到Java 1.8.0-151。它应该工作。

在使用Java 8 161的glassfish 5中存在一个问题,有一个issue被创建,但是关于这个问题的夜间版本没有变化,我昨天(3月19日)检查了。

另一答案

问题出现是因为Glassfish将本地sun.*类嵌入到[glassfish5_home]/glassfish/modules/endorsed/grizzly-npn-bootstrap.jar中,因此它与[JDK_HOME]/jre/lib/jsse.jar中包含的其他类冲突

因此,编辑grizzly-npn-bootstrap.jar(之前复制)文件并删除sun文件夹。

另一答案

上述错误可能会导致在浏览器中显示:

连接已重置在页面加载时重置了与服务器的连接。该网站可能暂时不可用或太忙。片刻之后再试一次。如果您无法加载任何页面,请检查计算机的网络连接。如果您的计算机或网络受防火墙或代理保护,请确保允许Firefox访问Web。

解决方案下载:qazxsw poi并替换你的glassfish / payara grizzly-npn-bootstrap.jar。

mv grizzly-npn-bootstrap-1.8.1.jar glassfish5 / glassfish / modules / endorsed / grizzly-npn-bootstrap.jar

另一答案

也许更优雅的是使用在npn-grizzly jar中完成的现有修复:

http://central.maven.org/maven2/org/glassfish/grizzly/grizzly-npn-bootstrap/1.8.1/grizzly-npn-bootstrap-1.8.1.jar

HTH

另一答案

java 1.8.0_161中安全密码的更改破坏了Glassfish 5,0的底层Grizzly服务器中的SSL功能。最后一个工作的java版本是1.8.0_152在撰写本文时,我可以确认,java 1.8.0_202适用于Glassfish 5.1(现在由Eclipse.org维护和下载)包含的grizzly-npn-bootstrap是1.9版本0.0。无需删除或更改任何内容。

以上是关于未找到sun.security.ssl.SSLSessionImpl的主要内容,如果未能解决你的问题,请参考以下文章

bash: make: 未找到命令

未找到 ios 开发证书并且未找到未过期的配置文件

为啥linux中总有未找到命令?

UIPrintInteractionController - 未找到支持文档格式的属性或未找到支持的格式

kali 报错 bash:pig.py:未找到的命令

DJANGO - 如果未找到数据,如何显示“未找到您的搜索”