小程序嵌入标签返回的ClassNotFoundException [英] Applet embed tag is returning ClassNotFoundException

查看:297
本文介绍了小程序嵌入标签返回的ClassNotFoundException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个小程序jar文件 cia.jar 和它的类 main.class 和我有我类在包 com.gmail.connorbphtml.WebApp 。我试图嵌入我的小程序到网页。当我试图做到这一点,我得到一个类未找到错误。

小程序工作正常,在Eclipse但后来当我试图把它嵌入到它不能正常工作。

下面是一个使用嵌入我的HTML:

 <嵌入code =main.class
归档=cia.jar
宽度=200HEIGHT =200
类型=应用程序/ x-j​​ava的小程序,版本1.6.0 =
PLUGINSPAGE =htt​​p://java.sun.com/javase/downloads/>

我一直有这使我放弃了小应用程序,因为我不能得到这个工作几个月了这个问题。

有谁知道哪里出了问题?

罐子结果-tvf cia.jar 是:

  39日09月16日12点34分五十秒EDT 2012 META-INF / MANIFEST.MF
     0周六9月15日18时02分30秒EDT 2012 COM /
     0周六9月15日18时02分30秒EDT 2012 COM /的Gmail /
     0周六9月15日18时02分30秒EDT 2012 COM /的Gmail / connorbphtml /
     0周六9月15日18时02分30秒EDT 2012 COM /的Gmail / connorbphtml / Web应用程序/
   136星期六9月15日18点02分16秒EDT 2012 COM /的Gmail / connorbphtml / Web应用程序/包info.class
   692星期六9月15日23时26分08秒EDT 2012 COM /的Gmail / connorbphtml / Web应用程序/ main.class
   226星期六9月15日十八点01分20秒EDT 2012的.classpath
   366星期六9月15日十八点01分20秒EDT 2012的.project

在控制台中的错误:

  Java插件1.6.0_33
使用JRE版本1.6.0_33-b03-424-11M3720的HotSpot的Java(TM)64位服务器VM
用户主目录= /用户/康纳-------------------------------------------------- -
C:清除控制台窗口
F:终结在结束队列对象
G:垃圾回收
H:显示帮助信息
L:转储类载入程序列表
L:打印内存使用情况
○:触发记录
问:隐藏控制台
R:重装策略配置
小号:转储系统和部署属性
T:转储线程列表
五:转储线程堆栈
X:清晰的类加载器缓存
0-5:设置跟踪级别为< N'GT;
-------------------------------------------------- - Java插件1.6.0_33
使用JRE版本1.6.0_33-b03-424-11M3720的HotSpot的Java(TM)64位服务器VM
用户主目录= /用户/ Connorload:类Sun_Microsystems_Java_Security_Update_6.class未找到。
抛出java.lang.ClassNotFoundException:Sun_Microsystems_Java_Security_Update_6.class
    在sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:252)
负载:类COM /的Gmail / connorbphtml / Web应用程序/ main.class没有找到。
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
负载:类COM /的Gmail / connorbphtml / Web应用程序/ main.class没有找到。
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
    在java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    在sun.plugin2.applet.Plugin2ClassLoader.load code(Plugin2ClassLoader.java:690)
    在sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3045)
    在sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(Plugin2Manager.java:1497)
    在java.lang.Thread.run(Thread.java:680)
异常:抛出java.lang.ClassNotFoundException:Sun_Microsystems_Java_Security_Update_6.class
抛出java.lang.ClassNotFoundException:com.gmail.connorbphtml.WebApp.main.class
    在sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:252)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
    在java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    在sun.plugin2.applet.Plugin2ClassLoader.load code(Plugin2ClassLoader.java:690)
    在sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3045)
    在sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(Plugin2Manager.java:1497)
    在java.lang.Thread.run(Thread.java:680)
异常:抛出java.lang.ClassNotFoundException:com.gmail.connorbphtml.WebApp.main.class
抛出java.lang.ClassNotFoundException:com.gmail.connorbphtml.WebApp.main.class
    在sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:252)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
    在java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    在sun.plugin2.applet.Plugin2ClassLoader.load code(Plugin2ClassLoader.java:690)
    在sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3045)
    在sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(Plugin2Manager.java:1497)
    在java.lang.Thread.run(Thread.java:680)
异常:抛出java.lang.ClassNotFoundException:com.gmail.connorbphtml.WebApp.main.class


解决方案

使用 deployJava.js 到<一个href=\"http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/deployment_advice.html#deployingApplets\"相对=nofollow>写的小程序的元素。

例如。改编自页:

 &LT;脚本SRC =htt​​p://www.java.com/js/deployJava.js&GT;&LT; / SCRIPT&GT;
&LT;脚本&GT;
    VAR属性= {codeBase类:,'。'
                      code:'com.gmail.connorbphtml.WebApp.main',
                      档案:cia.jar',
                      宽度:200,高度:200};
    VAR的版本='1.6';
    deployJava.runApplet(属性,参数,版本);
&LT; / SCRIPT&GT;

该脚本将在正确的形式在其上运行的浏览器/ OS编写相应的元素。

I have an applet jar file cia.jar and the class in it main.class and I have my class in the package com.gmail.connorbphtml.WebApp. I am trying to embed my applet into a webpage. When I am trying to do this I get a class not found error.

The applet works fine in Eclipse but then when I try to embed it it does not work.

Here is my HTML using embed:

<embed code="main.class"
archive="cia.jar"
width="200" height="200"
type="application/x-java-applet;version=1.6.0"
pluginspage="http://java.sun.com/javase/downloads"/>

I have been having this problem for months which made me give up applets because I can't get this working.

Does anyone know what went wrong?

The results from jar -tvf cia.jar are:

39 Sun Sep 16 12:34:50 EDT 2012 META-INF/MANIFEST.MF
     0 Sat Sep 15 18:02:30 EDT 2012 com/
     0 Sat Sep 15 18:02:30 EDT 2012 com/gmail/
     0 Sat Sep 15 18:02:30 EDT 2012 com/gmail/connorbphtml/
     0 Sat Sep 15 18:02:30 EDT 2012 com/gmail/connorbphtml/WebApp/
   136 Sat Sep 15 18:02:16 EDT 2012 com/gmail/connorbphtml/WebApp/package-info.class
   692 Sat Sep 15 23:26:08 EDT 2012 com/gmail/connorbphtml/WebApp/main.class
   226 Sat Sep 15 18:01:20 EDT 2012 .classpath
   366 Sat Sep 15 18:01:20 EDT 2012 .project

The error in the console:

Java Plug-in 1.6.0_33
Using JRE version 1.6.0_33-b03-424-11M3720 Java HotSpot(TM) 64-Bit Server VM
User home directory = /Users/Connor

----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
o:   trigger logging
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
x:   clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------

Java Plug-in 1.6.0_33
Using JRE version 1.6.0_33-b03-424-11M3720 Java HotSpot(TM) 64-Bit Server VM
User home directory = /Users/Connorload: class Sun_Microsystems_Java_Security_Update_6.class not found.
java.lang.ClassNotFoundException: Sun_Microsystems_Java_Security_Update_6.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:252)
load: class com/gmail/connorbphtml/WebApp/main.class not found.
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
load: class com/gmail/connorbphtml/WebApp/main.class not found.
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:690)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3045)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1497)
    at java.lang.Thread.run(Thread.java:680)
Exception: java.lang.ClassNotFoundException: Sun_Microsystems_Java_Security_Update_6.class
java.lang.ClassNotFoundException: com.gmail.connorbphtml.WebApp.main.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:252)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:690)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3045)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1497)
    at java.lang.Thread.run(Thread.java:680)
Exception: java.lang.ClassNotFoundException: com.gmail.connorbphtml.WebApp.main.class
java.lang.ClassNotFoundException: com.gmail.connorbphtml.WebApp.main.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:252)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:690)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3045)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1497)
    at java.lang.Thread.run(Thread.java:680)
Exception: java.lang.ClassNotFoundException: com.gmail.connorbphtml.WebApp.main.class

解决方案

Use deployJava.js to write the element for the applet.

E.G. adapted from the page:

<script src="http://www.java.com/js/deployJava.js"></script>
<script>
    var attributes = {codebase:'.',
                      code:'com.gmail.connorbphtml.WebApp.main',
                      archive:'cia.jar',
                      width:200, height:200};
    var version = '1.6';
    deployJava.runApplet(attributes, parameters, version);
</script> 

The script will write the appropriate element in the correct form for the browser/OS on which it is running.

这篇关于小程序嵌入标签返回的ClassNotFoundException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆