Glassfish 5.0 java.lang.NoSuchMethodError

编程入门 行业动态 更新时间:2024-10-10 02:17:28
本文介绍了Glassfish 5.0 java.lang.NoSuchMethodError的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

当我尝试连接google自定义搜索api glassfish时,抛出nosuchmethoderror

When i tried connect google custom search api glassfish throw nosuchmethoderror

那是代码

private int conn (String search)throws Exception { String key="mykey"; URL url = new URL("www.googleapis/customsearch/v1?q="+search+"&cx=017576662512468239146%3Aomuauf_lfve&key="+key); doTrustToCertificates(); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); connection.setDoOutput(true); BufferedReader reader = new BufferedReader(new InputStreamReader((connection.getInputStream()))); String splitreader = ""; StringBuilder ss = new StringBuilder(); while((splitreader = reader.readLine()) != null){ ss.append(splitreader); } JSONObject json = new JSONObject(ss.toString()); JSONObject jsonrequest = json.getJSONObject("queries").getJSONArray("request").getJSONObject(0); return jsonrequest.getInt("totalResults"); } public void doTrustToCertificates() throws Exception { Security.addProvider(new com.sun.ssl.internal.ssl.Provider()); TrustManager[] trustAllCerts = new TrustManager[]{ new X509TrustManager() { public X509Certificate[] getAcceptedIssuers() { return null; } public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException { return; } public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException { return; } } }; SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); HostnameVerifier hv = new HostnameVerifier() { public boolean verify(String urlHostName, SSLSession session) { if (!urlHostName.equalsIgnoreCase(session.getPeerHost())) { System.out.println("Warning: URL host '" + urlHostName + "' is different to SSLSession host '" + session.getPeerHost() + "'."); } return true; } }; HttpsURLConnection.setDefaultHostnameVerifier(hv); }

例外

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; I)V

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;I)V

但是代码在Glassfish 4.1.1和Wildfly上起作用了,我不明白为什么不能在Glassfish 5.0上工作

But codes worked on glassfish 4.1.1 and wildfly i can't understand why not working on glassfish 5.0

推荐答案

检查您的Java版本.这是由于JDK中有关JDK 8u161的更改影响了Grizzly.

Check your Java version. This is due to changes in the JDK around JDK 8u161 which affect Grizzly.

总结一下:

  • 如果您使用GlassFish 5.0,则需要使用JDK 8的版本以下 JDK 8u161
  • 如果您使用GlassFish 5.0.1或更高版本,则需要使用JDK 8的版本高于 8u161
  • If you use GlassFish 5.0, you need to be on a version of JDK 8 below JDK 8u161
  • If you use GlassFish 5.0.1 or higher, you need to be on a version of JDK 8 above 8u161

此错误已在GlassFish GitHub问题跟踪器中跟踪: github/eclipse-ee4j/glassfish/issues/22436

This bug is tracked in the GlassFish GitHub issue tracker: github/eclipse-ee4j/glassfish/issues/22436

更多推荐

Glassfish 5.0 java.lang.NoSuchMethodError

本文发布于:2023-11-25 11:38:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1629592.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Glassfish   java   NoSuchMethodError   lang

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!