-
Enhancement
-
Resolution: Won't Fix
-
P4
-
7, 7u65, 9
-
generic
-
generic
We have the following applet:
===========
<APPLET CODE="HJCN1" CODEBASE="/HTTP_JarCaching_Filter/classes/N1" WIDTH = 650 HEIGHT = 300>
<param name=archive_1 value=MainTest.jar,preload,version=1.0.0.0>
<APPLET>
==========
We also have MainTest.jar deployed at web side with JNLPDownloadServlet. But the version does not match, the one at web side is 2.0.0.0 while the applet requests 1.0.0.0. In applet, We also try to load a class defined in MainTest.jar which though will not be downloaded due to version mismatch.
From the trace below, we could see plugin sent over sereral requests instead of one before the FailedDownloadException has finally been thrown.
================Trace============
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: Connecting http://192.168.142.147:8080/ with proxy=DIRECT
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: ResponseCode for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : 200
network: Encoding for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : null
network: Sever response: (length: 39, lastModified: Thu Jan 01 08:00:00 CST 1970, downloadVersion: 1.0.0.0, mimeType: application/x-java-jnlp-error)
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: ResponseCode for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : 200
network: Encoding for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : null
network: Sever response: (length: 39, lastModified: Thu Jan 01 08:00:00 CST 1970, downloadVersion: 1.0.0.0, mimeType: application/x-java-jnlp-error)
basic: Plugin2ClassLoader.addURL parent called for file:/C:/Program%20Files/Java/jre8/lib/applet/hostile.jar
basic: Plugin2ClassLoader.addURL parent called for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar
basic: Plugin2ClassLoader.addURL parent called for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/Test1.jar
basic: Plugin2ClassLoader.addURL parent called for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/Test2.jar
preloader: Added pending event 1: AppletInitEvent[type=CallConstructor]
preloader: Using preloader class: null com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter@192ee25
preloader: Using default preloader
preloader: Requested to use preloader class: null
preloader: Delivering: AppletInitEvent[type=CallConstructor]
preloader: Skipped all (0) download events prior to null
preloader: GrayBox: parent = sun.plugin2.main.client.PluginEmbeddedFrame[frame0,0,0,650x300,layout=java.awt.BorderLayout,title=,resizable,normal]
preloader: Start progressCheck thread
security: Blacklist revocation check is enabled
security: The jar file isnt signed so the blacklist check will be skipped
security: Trusted libraries list check is enabled
security: The jar file isnt signed so the trusted libraries list check will be skipped
security: The jar file isnt signed so the blacklist check will be skipped
network: Cache entry not found [url: file:/C:/Program%20Files/Java/jre8/lib/applet/hostile.jar, version: null]
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: ResponseCode for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : 200
network: Encoding for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : null
network: Sever response: (length: 39, lastModified: Thu Jan 01 08:00:00 CST 1970, downloadVersion: 1.0.0.0, mimeType: application/x-java-jnlp-error)
com.sun.deploy.net.FailedDownloadException: Unable to load resource: (http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0, 1.0.0.0)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine._downloadCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.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 sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(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)
Caused by:
java.io.IOException: Error returned: 11 Could not locate requested version
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine._downloadCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.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 sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(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)
===================
We could reduce the times of attempting to get the MainTest.jar - ideally to once because there's no such a resource with correct version at web side after all.
===========
<APPLET CODE="HJCN1" CODEBASE="/HTTP_JarCaching_Filter/classes/N1" WIDTH = 650 HEIGHT = 300>
<param name=archive_1 value=MainTest.jar,preload,version=1.0.0.0>
<APPLET>
==========
We also have MainTest.jar deployed at web side with JNLPDownloadServlet. But the version does not match, the one at web side is 2.0.0.0 while the applet requests 1.0.0.0. In applet, We also try to load a class defined in MainTest.jar which though will not be downloaded due to version mismatch.
From the trace below, we could see plugin sent over sereral requests instead of one before the FailedDownloadException has finally been thrown.
================Trace============
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: Connecting http://192.168.142.147:8080/ with proxy=DIRECT
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: ResponseCode for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : 200
network: Encoding for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : null
network: Sever response: (length: 39, lastModified: Thu Jan 01 08:00:00 CST 1970, downloadVersion: 1.0.0.0, mimeType: application/x-java-jnlp-error)
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: ResponseCode for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : 200
network: Encoding for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : null
network: Sever response: (length: 39, lastModified: Thu Jan 01 08:00:00 CST 1970, downloadVersion: 1.0.0.0, mimeType: application/x-java-jnlp-error)
basic: Plugin2ClassLoader.addURL parent called for file:/C:/Program%20Files/Java/jre8/lib/applet/hostile.jar
basic: Plugin2ClassLoader.addURL parent called for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar
basic: Plugin2ClassLoader.addURL parent called for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/Test1.jar
basic: Plugin2ClassLoader.addURL parent called for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/Test2.jar
preloader: Added pending event 1: AppletInitEvent[type=CallConstructor]
preloader: Using preloader class: null com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter@192ee25
preloader: Using default preloader
preloader: Requested to use preloader class: null
preloader: Delivering: AppletInitEvent[type=CallConstructor]
preloader: Skipped all (0) download events prior to null
preloader: GrayBox: parent = sun.plugin2.main.client.PluginEmbeddedFrame[frame0,0,0,650x300,layout=java.awt.BorderLayout,title=,resizable,normal]
preloader: Start progressCheck thread
security: Blacklist revocation check is enabled
security: The jar file isnt signed so the blacklist check will be skipped
security: Trusted libraries list check is enabled
security: The jar file isnt signed so the trusted libraries list check will be skipped
security: The jar file isnt signed so the blacklist check will be skipped
network: Cache entry not found [url: file:/C:/Program%20Files/Java/jre8/lib/applet/hostile.jar, version: null]
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Cache entry not found [url: http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar, version: 1.0.0.0]
network: Connecting http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 with proxy=DIRECT
network: ResponseCode for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : 200
network: Encoding for http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0 : null
network: Sever response: (length: 39, lastModified: Thu Jan 01 08:00:00 CST 1970, downloadVersion: 1.0.0.0, mimeType: application/x-java-jnlp-error)
com.sun.deploy.net.FailedDownloadException: Unable to load resource: (http://192.168.142.147:8080/HTTP_JarCaching_Filter/classes/N1/MainTest.jar?version-id=1.0.0.0, 1.0.0.0)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine._downloadCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.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 sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(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)
Caused by:
java.io.IOException: Error returned: 11 Could not locate requested version
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine._downloadCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.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 sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(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)
===================
We could reduce the times of attempting to get the MainTest.jar - ideally to once because there's no such a resource with correct version at web side after all.