简体   繁体   English

JRE升级后Java Applet无法运行

[英]Java Applet fails to run after JRE upgrade

I had JRE 1.6 which was updated to 1.8.0_31. 我的JRE 1.6已更新为1.8.0_31。 After this update my applet has stopped working and I am getting below error 此更新后,我的小程序已停止工作,并且出现错误提示

java.lang.ExceptionInInitializerError
  at com.sun.deploy.net.protocol.https.Handler.openConnection(Unknown Source)
  at java.net.URL.openConnection(Unknown Source)
  at sun.net.www.protocol.jar.JarURLConnection.<init>(Unknown Source)
  at sun.plugin.net.protocol.jar.CachedJarURLConnection.<init>(Unknown Source)
  at sun.plugin.net.protocol.jar.Handler.openConnection(Unknown Source)
  at java.net.URL.openConnection(Unknown Source)
  at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
  at sun.misc.URLClassPath$JarLoader.access$600(Unknown Source)
  at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)
  at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.misc.URLClassPath$JarLoader.ensureOpen(Unknown Source)
  at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
  at sun.misc.URLClassPath$3.run(Unknown Source)
  at sun.misc.URLClassPath$3.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.misc.URLClassPath.getLoader(Unknown Source)
  at sun.misc.URLClassPath.getLoader(Unknown Source)
  at sun.misc.URLClassPath.getResource(Unknown Source)
  at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
  at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
  at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
  at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: sun.security.ssl.X509TrustManagerImpl cannot be cast to com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager
  at com.sun.deploy.security.X509ExtendedDeployTrustManager.<init>(Unknown Source)
  at com.sun.deploy.net.protocol.https.Handler$Initializer$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at com.sun.deploy.net.protocol.https.Handler$Initializer.<clinit>(Unknown Source)
  ... 29 more
Exception: java.lang.ExceptionInInitializerError
java.lang.NoClassDefFoundError: Could not initialize class com.sun.deploy.net.protocol.https.Handler$Initializer
  at com.sun.deploy.net.protocol.https.Handler.openConnection(Unknown Source)
  at java.net.URL.openConnection(Unknown Source)
  at sun.net.www.protocol.jar.JarURLConnection.<init>(Unknown Source)
  at sun.plugin.net.protocol.jar.CachedJarURLConnection.<init>(Unknown Source)
  at sun.plugin.net.protocol.jar.Handler.openConnection(Unknown Source)
  at java.net.URL.openConnection(Unknown Source)
  at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
  at sun.misc.URLClassPath$JarLoader.access$600(Unknown Source)
  at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)
  at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.misc.URLClassPath$JarLoader.ensureOpen(Unknown Source)
  at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
  at sun.misc.URLClassPath$3.run(Unknown Source)
  at sun.misc.URLClassPath$3.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.misc.URLClassPath.getLoader(Unknown Source)
  at sun.misc.URLClassPath.getLoader(Unknown Source)
  at sun.misc.URLClassPath.getResource(Unknown Source)
  at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
  at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
  at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
  at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)
Exception: java.lang.NoClassDefFoundError: Could not initialize class com.sun.deploy.net.protocol.https.Handler$Initializer

I am using Jboss server and the server.xml file has been updated to use the correct Keystore and certificate using SSL. 我正在使用Jboss服务器,并且server.xml文件已更新为使用SSL使用正确的密钥库和证书。

I have added the https site which I am trying to access in the exception list of both the browser and JAVA control Panel. 我已在浏览器和JAVA控制面板的例外列表中添加了要访问的https站点。 Cleared the cache of both and have also deleted the user certificate to ensure the latest certificate gets downloaded. 清除了两者的缓存,还删除了用户证书,以确保下载了最新的证书。

Kindly help to know the resolution steps. 请帮助了解解决步骤。

I was able to remove the above issue by unchecking and checking back the "Enable java content on browser" check box in the java control panel. 通过取消选中并返回Java控制面板中的“在浏览器中启用Java内容”复选框,我能够消除上述问题。 Still I am facing issues when the application is used by external set of users. 当应用程序由外部用户组使用时,我仍然面临问题。

I observe that there are 2 sets of exceptions 1. Connection timeout 2. Class not getting loaded 我观察到有2组异常1.连接超时2.类未加载

All these issues started only after downloading JRE version 1.8.0_31-b13 所有这些问题仅在下载JRE版本1.8.0_31-b13之后才开始

basic: Added progress listener: sun.plugin.util.ProgressMonitorAdapter@195fb2b
security: Expected Main URL: https://www.VVV/GFH/SecurityApplet.jar
basic: Plugin2ClassLoader.addURL parent called for https://VVV/GFH/SecurityApplet.jar
network: Cache entry found [url: https://VVV/GFH/SecurityApplet.jar, version: null] prevalidated=false/0
cache: Adding MemoryCache entry: https://VVV/GFH/SecurityApplet.jar
cache: Resource https://VVV/GFH/SecurityApplet.jar has expired.
cache: Resource https://VVV/GFH/SecurityApplet.jar has cache control: no-cache.
network: Connecting https://VVV/GFH/SecurityApplet.jar with proxy=DIRECT
network: Cache entry not found [url: file:/D:/Program%20Files/Java/lib/ext/sunec.jar, version: null]
network: Cache entry not found [url: file:/D:/Program%20Files/Java/lib/ext/sunjce_provider.jar, version: null]
network: Connecting http://VVV:443/ with proxy=DIRECT
network: Connecting https://VVV/GFH/SecurityApplet.jar with proxy=DIRECT
network: Connecting http:/VVV:443/ with proxy=DIRECT
java.net.ConnectException: Connection timed out: connect
  at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
  at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
  at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
  at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
  at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
  at java.net.PlainSocketImpl.connect(Unknown Source)
  at java.net.SocksSocketImpl.connect(Unknown Source)
  at java.net.Socket.connect(Unknown Source)
  at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)

Also getting class not found as below

basic: load: class com/cosl/security/GHB/api/MACApplet.class not found.
java.lang.ClassNotFoundException: com.cosl.security.GHB.api.MACApplet.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Ignored exception: java.lang.ClassNotFoundException: com.cosl.security.armor4c.api.MACApplet.class
basic: Dialog type is not candidate for embedding
security: Reset deny session certificate store

Any help on these is appreciated. 在这些方面的任何帮助将不胜感激。 Am stuck on this issue since 3 -4 weeks and there is no solution available anywhere 自3 -4周以来一直处于此问题上,任何地方都没有解决方案

Have you verified your certificate for any junk chars? 您是否已验证任何垃圾字符的证书? This seems to be a certificate error. 这似乎是证书错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM