Java中的ClassNotFoundException

时间:2012-11-10 09:20:24

标签: java html jar

我有一个奇怪而令人讨厌的问题。我将所有.class文件加载到JAR文件中并将其放在我的本地Web服务器上。问题是当我使用我的JAR导航到页面时,我得到了一个很大的ClassNotFoundExeption。我是100%certian这个类文件在我的JAR中。我也知道JAR文件与我的XHTML文件在同一目录中

这是XHTML源

<html>
    <head>
    </head>
    <body bgcolor="000000">
        <center>
            <applet
                archive   = "program.jar"
                code    = "inigui4.class"
                width   = "500"
                height  = "300"
            >

            <param name="cache_option" value="no"> 
            </applet>
        </center>
    </body>
</html>

很奇怪!

出于某种原因,当我创建一个hello world applet时,我遇到了同样的问题(可能是我的LightTPD服务器吗?

Java源代码

import java.awt.*;
import java.applet.*;

public class inigui4 extends Applet {

    public void init() {
    }

    public void paint(Graphics g) {

        g.drawString("Welcome to Java!!", 50, 60 );

    }
}

更奇怪。

现在我无法在网络上加载任何小程序,因为我收到此错误。我需要在早上联系Oracle。

3 个答案:

答案 0 :(得分:0)

它可能由多种原因引起,但最可能的原因是您没有指定您正在使用的类的包。看看这个post的答案。

答案 1 :(得分:0)

如果您使用的是套餐,则必须在its relative path into the jar

前面添加inigui4.class前缀

答案 2 :(得分:0)

我认为问题在于:

        <applet
            archive   = "program.jar"
            code    = "inigui4.class"
            width   = "500"
            height  = "300"
        >

在这里,您指定 inigui4.class - 但在您的Java代码中:

public class inigui_rb extends Applet {
   ...
}

这是 inigui_rb 。尝试:

         <applet
            archive   = "program.jar"
            code    = "inigui_rb.class"
            width   = "500"
            height  = "300"
        >

ClassNotFoundException应该消失。

编码时请注意Java coding conventions!在这种情况下:

  • 班级名称以首都开头!
  • ClassNamesDoNotContainUnderscoresInsteadTheyAreCamelCased!