我正在尝试运行Robert LaFore的旧书“ Java算法和数据结构”中的一些旧Java小程序。
https://sites.fas.harvard.edu/~cscie119/resources/lafore/
要么
https://cs.brynmawr.edu/课程/cs206/spring2004/lafore.html
我已经安装了JDK 1.8 / Java 8,它包含appletviewer.exe C:\Program Files\Java\jdk1.8.0_251\bin\appletviewer.exe
我对如何运行它们没有任何回忆。
我的路径中有appletviewer.exe。
C:\aaa>path=%path%;C:\Program Files\Java\jdk1.8.0_251\bin
C:\aaa>appletviewer
Usage: appletviewer <options> url(s)
where <options> include:
-debug Start the applet viewer in the Java debugger
-encoding <encoding> Specify character encoding used by HTML files
-J<runtime flag> Pass argument to the java interpreter
The -J option is non-standard and subject to change without notice.
C:\aaa>wget https://cs.brynmawr.edu/Courses/cs206/spring2004/WorkshopApplets/Chap02/Array/Array.class
--2020-05-19 07:00:11-- https://cs.brynmawr.edu/Courses/cs206/spring2004/WorkshopApplets/Chap02/Array/Array.class
Resolving cs.brynmawr.edu (cs.brynmawr.edu)... 165.106.10.107
Connecting to cs.brynmawr.edu (cs.brynmawr.edu)|165.106.10.107|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3967 (3.9K) [application/octet-stream]
Saving to: 'Array.class'
Array.class 100%[=======================================================================>] 3.87K --.-KB/s in 0s
2020-05-19 07:00:11 (18.7 MB/s) - 'Array.class' saved [3967/3967]
C:\aaa>dir Array.class
Volume in drive C has no label.
Volume Serial Number is 4645-5DCE
Directory of C:\aaa
03/01/2005 15:59 3,967 Array.class
1 File(s) 3,967 bytes
0 Dir(s) 335,436,058,624 bytes free
C:\aaa>wget https://cs.brynmawr.edu/Courses/cs206/spring2004/WorkshopApplets/Chap02/Array/Array.java
--2020-05-19 07:00:24-- https://cs.brynmawr.edu/Courses/cs206/spring2004/WorkshopApplets/Chap02/Array/Array.java
Resolving cs.brynmawr.edu (cs.brynmawr.edu)... 165.106.10.107
Connecting to cs.brynmawr.edu (cs.brynmawr.edu)|165.106.10.107|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2020-05-19 07:00:25 ERROR 404: Not Found.
C:\aaa>appletviewer Array.class
C:\aaa>appletviewer Array
I/O exception while reading: C:\aaa\Array (The system cannot find the file specified)
C:\aaa>
作为另一种方法,我刚刚尝试过https://sourceforge.net/projects/portableapps/files/Mozilla%20Firefox%2C%20Portable%20Ed./ Mozilla Firefox,Portable Edition 2.0.0.8 2007-10-22
但是Firefox并未附带该插件,因此无法安装
添加
回到尝试使用appletviewer的过程中,我从谷歌搜索该错误中发现,应该为appletviewer运行一个HTML文件。
所以我尝试了
C:\aaa>wget https://cs.brynmawr.edu/Courses/cs206/spring2004/WorkshopApplets/Chap02/Array/Array.html
我得到
C:\aaa>Appletviewer Array.html
java.lang.NoClassDefFoundError: personGroup
at Array.init(Array.java:746)
at sun.applet.AppletPanel.run(AppletPanel.java:434)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: personGroup
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:219)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:152)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 3 more
我尝试了jd-gui-windows-1.6.6并打开了Array.class,我发现它具有 private personGroup thePersonGroup;
在这个网址
https://cs.brynmawr.edu/Courses/cs206/spring2004/WorkshopApplets/Chap02/Array/....
毫无疑问,这是对文件系统的引用
有Chap02/Array/Array.html
,Chap02/Array/Array.class
但我看不到任何personGroup.class或personGroup.java
您只下载了“启动类” Array.class。但是,此类加载位于同一目录中的其他类。例如,该类personGroup
在此目录中也可用:
https://cs.brynmawr.edu/课程/cs206/spring2004/WorkshopApplets/Chap02/Array/personGroup.class
因此,除非您获得了所有涉及的类,否则您必须下载在每个下载的类中链接的每个类。
由于Web服务器拒绝列出文件夹,因此您必须一一识别并下载每个类。
接下来将要下载的类在NoClassDefFoundError
您将获得的异常中可见。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句