简体   繁体   English

脱机运行Java Applet:线程“ main”中的异常java.lang.NoClassDefFoundError

[英]Run java applet offline: Exception in thread “main” java.lang.NoClassDefFoundError

I just downloaded some java applets from this site: http://www.surendranath.org/Apps.html to run them offline on my laptop. 我刚刚从此站点下载了一些Java applet: http//www.surendranath.org/Apps.html ,可在笔记本电脑上离线运行它们。 Take for example this one: http://www.surendranath.org/Applets/Oscillations/Lissajous/Lissajous.html 以这个为例: http : //www.surendranath.org/Applets/Oscillations/Lissajous/Lissajous.html

By inspecting the source code I downloaded the file: wget http://www.surendranath.org/Applets/Oscillations/Lissajous/LissajousApplet.class 通过检查源代码,我下载了文件: wget http://www.surendranath.org/Applets/Oscillations/Lissajous/LissajousApplet.class

Then I tried it to run it on my ubuntu box via gappletviewer-4.8 -code LissayousApplet.class 然后我尝试通过gappletviewer-4.8 -code LissayousApplet.class在我的Ubuntu盒子上运行它

However I got the following error message: 但是我收到以下错误消息:

Exception in thfully qualifiedread "main" java.lang.NoClassDefFoundError: loaded class LissajousApplet was in fact named Applets.Oscillations.Lissajous.LissajousApplet
   at java.lang.VMClassLoader.defineClass(libgcj.so.14)
   at java.lang.ClassLoader.defineClass(libgcj.so.14)
   at java.security.SecureClassLoader.defineClass(libgcj.so.14)
   at java.net.URLClassLoader.findClass(libgcj.so.14)
   at java.lang.ClassLoader.loadClass(libgcj.so.14)
   at java.lang.ClassLoader.loadClass(libgcj.so.14)
   at java.lang.ClassLoader.loadClass(libgcj.so.14)
   at gnu.classpath.tools.appletviewer.Main.createApplet(libgcj-tools.so.14)
   at gnu.classpath.tools.appletviewer.StandaloneAppletWindow.<init>(libgcj-tools.so.14)
   at gnu.classpath.tools.appletviewer.StandaloneAppletViewer.createWindows(libgcj-tools.so.14)
   at gnu.classpath.tools.appletviewer.StandaloneAppletViewer.<init>(libgcj-tools.so.14)
   at gnu.classpath.tools.appletviewer.Main.main(libgcj-tools.so.14)

So what is the correct way to run this applet offline ? 那么, 离线运行此applet的正确方法是什么? Running it online within my browser and the icetea plugin works. 在我的浏览器中在线运行它,icetea插件可以运行。 However I need a way to run it offline. 但是我需要一种脱机运行它的方法。

Edit 编辑

Trying the fully qualified class-name results in: 尝试完全限定的类名会导致:

gappletviewer-4.8 -code Applets.Oscillations.Lissajous.LissajousApplet.class -codebase codebase="../../../" 
WARNING: CURRENTLY GAPPLETVIEWER RUNS WITH NOSECURITY MANAGER.
THIS MEANS THAT APPLETS YOU LOAD CAN DO ANYTHING A JAVA APPLICATION
THAT YOU DOWNLOAD AND RUN CAN DO.  BE *VERY* CAREFUL WHICH APPLETS YOU RUN.
DO NOT USE GAPPLETVIEWER ON YOUR SYSTEM IF YOUR SYSTEM STORES IMPORTANTDATA.
THIS DATA CAN BE DESTROYED OR STOLEN IF YOU LOAD A MALICIOUS APPLET.

[press 'c' or 'C' to continue or anything else to quit]
c
java.lang.ClassNotFoundException: Applets.Oscillations.Lissajous.LissajousApplet not found in gnu.classpath.tools.appletviewer.AppletClassLoader{urls=[file:/home/null,file:/home/], parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}}
   at java.net.URLClassLoader.findClass(libgcj.so.14)
   at gnu.classpath.tools.appletviewer.AppletClassLoader.findClass(libgcj-tools.so.14)
   at java.lang.ClassLoader.loadClass(libgcj.so.14)
   at java.lang.ClassLoader.loadClass(libgcj.so.14)
   at gnu.classpath.tools.appletviewer.Main.createApplet(libgcj-tools.so.14)
   at gnu.classpath.tools.appletviewer.StandaloneAppletWindow.<init>(libgcj-tools.so.14)
   at gnu.classpath.tools.appletviewer.StandaloneAppletViewer.createWindows(libgcj-tools.so.14)
   at gnu.classpath.tools.appletviewer.StandaloneAppletViewer.<init>(libgcj-tools.so.14)
   at gnu.classpath.tools.appletviewer.Main.main(libgcj-tools.so.14)

Try using the fully qualified classname 尝试使用完全限定的类名

gappletviewer-4.8 -code Applets.Oscillations.Lissajous.LissajousApplet.class -codebase codebase="http://www.surendranath.org/" 

Read: gappletviewer Man page 阅读: gappletviewer手册页

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

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