2014-09-11 72 views
0

我试图在运行在resin中的本地主机上运行Java小程序。我有一个包含如下的JSP文件applet2.jsp:无法在本地主机上运行Java小程序

Testing an applet. 

<IMG SRC="/static/images/tabTrackerRollM.gif"><BR> 

<APPLET NAME="tracker" CODE="com.my.package" ARCHIVE="/applets/my_applet.jar" WIDTH="100%" HEIGHT="300" VIEWASTEXT MAYSCRIPT> 
<param name=updateUrl value="http://localhost/test/appletSample3.jsp"> 
<param name=bgColor value="0,0,0"> 
<param name=updateFrequency value=4000> 
</APPLET> 

但是,每当我试图运行在浏览器中applet的我总是得到以下错误信息:

enter image description here

当检查Java控制台,我发现:

cache: Initialize resource manager: [email protected] 
basic: Added progress listener: [email protected] 
security: Expected Main URL: http://localhost/applet/my_applet.jar.jar 
basic: Plugin2ClassLoader.addURL parent called for http://localhost/applet/my_applet.jar 
network: Cache entry not found [url: http://localhost/applet/my_applet.jar, version: null] 
network: Connecting http://localhost/applet/my_applet.jar with proxy=DIRECT 
network: Connecting http://localhost:80/ with proxy=DIRECT 
java.io.FileNotFoundException: http://localhost/applet/my_applet.jar 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at sun.plugin.PluginURLJarFileCallBack.downloadJAR(Unknown Source) 
    at sun.plugin.PluginURLJarFileCallBack.access$000(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) 

它基本上说my_applet.jar丢失。但是,当我试图通过指向http://localhost/applet/my_applet.jar与我的浏览器访问它,它实际上存在:

enter image description here

我也试图去Java.com检查,如果我有最新的Java: enter image description here

我下面的平台上: OS:的Windows 7(64) 的Java: JDK 1.7(64)

我还清除了控制面板中的java小程序缓存,将浏览器安全设置为中等并清除浏览器缓存。

回答

1

我们必须在浏览器上运行之前对applet进行签名,然后才尝试对applet Jar进行签名。 这里是签名命令。

您应该在命令提示符下的同一个目录中。

1.keytool -genkey -keyalg rsa -alias m4key //m4key unique key 
2.keytool -export -alias m4key -file bmcert.crt //bmcert.crt certificate name 
3.jar tvf Jarname.jar verify jar 
4.jarsigner Jarname.jar m4key 
5.jarsigner -verify -verbose -certs JarnameJarname.jar 
+0

嗨,乔治!是的,我忘记提及它已经签署。 – epsac 2014-09-12 12:14:59

相关问题