未找到sun.security.ssl.SSLSessionImpl
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未找到sun.security.ssl.SSLSessionImpl相关的知识,希望对你有一定的参考价值。
当我尝试使用okhttp
或javax.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的主要内容,如果未能解决你的问题,请参考以下文章