【问题标题】:ClassNotFoundException when running my applet运行我的小程序时出现 ClassNotFoundException
【发布时间】:2012-11-28 10:56:42
【问题描述】:

我在 ms-dos 中使用 appletviewer 命令行运行小程序时遇到了一些麻烦。 这是我的项目树:

Project
|___classes
|       |___org 
|            |___test
|                  |___Test.class
|
|__src
    |___org       
         |___test
               |___Test.java

这里是 Test.java 源文件:

package org.test;

import java.applet.Applet;

/*<applet code="org.test.Test" width="200" height="100" 
codebase="..\..\..\classes\org\test"></applet>*/

public class Test extends Applet{

    public void init(){

    }

    public void start(){

    }

    public void stop(){

    }

    public void destroy(){

    }

}

我在一篇文章中读到,appletviewer 只需要一个文件,其中有一个 applet 标签,这样它就会解析该文件以检索标签。这就是我对上面源文件中的注释行所做的。

源文件编译没有任何错误。然后我尝试运行它。所以我进入我的源文件所在的文件夹,我试试这个:

prompt\Project\src\org\test>appletviewer Test.java

这是发生的错误:

java.lang.ClassNotFoundException: org.test.Test 在 sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:211) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:306) 在 sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:144) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:247) 在 sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:662) 在 sun.applet.AppletPanel.createApplet(AppletPanel.java:785) 在 sun.applet.AppletPanel.runLoader(AppletPanel.java:714) 在 sun.applet.AppletPanel.run(AppletPanel.java:368) 在 java.lang.Thread.run(Thread.java:662)

我认为错误来自我的 java 源文件的第一行,因为当我删除它时,一切正常。但我就是不知道为什么... 有人可以解释一下吗?

【问题讨论】:

    标签: java applet package classnotfoundexception dos


    【解决方案1】:

    我认为应该是的

    codebase="../../../classes"
    

    您应该尝试运行 .class 文件,而不是 .java 文件,在这种情况下,当您尝试运行时,当前目录应该是 classes

    【讨论】:

    • 好吧,我刚刚开始发疯了!!非常感谢!我现在明白了。
    • "..\..\..\classes" 应该是"../../../classes"
    • @AndrewThompson :似乎两种符号(\ 和 /)都可以正常工作。我都试过了。
    猜你喜欢
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多