Java 在Chrome中加载小程序时ClassNotFound异常

Java 在Chrome中加载小程序时ClassNotFound异常,java,html,google-chrome,applet,classnotfound,Java,Html,Google Chrome,Applet,Classnotfound,我很难让Java小程序在Chrome中运行。类加载器无法找到该类,即使它在Firefox、Opera和Safari中运行良好 下面是我的测试小程序类(为了保持简单,我甚至拿出了包声明): 以下是简约测试页面: <!doctype html> <html><head> <meta charset="utf-8"/> <title>Test</title> </head><body> <

我很难让Java小程序在Chrome中运行。类加载器无法找到该类,即使它在Firefox、Opera和Safari中运行良好

下面是我的测试小程序类(为了保持简单,我甚至拿出了包声明):

以下是简约测试页面:

<!doctype html>
<html><head>
  <meta charset="utf-8"/>
  <title>Test</title>
</head><body>
  <p>
    <object type="application/x-java-applet" width="50" height="70">
      <param name="code" value="Test" />
      Test failed.
    </object>
  </p>
</body></html>
我用
javac Test.java
编译了这个类,并将.class文件与.html文件放在同一个文件夹中。同样,这在Firefox、Safari和Opera中都运行良好,为什么不在Chrome中运行呢

我尝试过创建一个jar并添加
,但没有帮助

哦,当我问问题的时候:是否有一个官方规范列出了
标签中的小程序可以使用的
参数?它不在HTML5规范中,这是有道理的,但Oracle似乎喜欢旧的废弃的
标记,我需要使用严格的HTML5

环境 运行OS X 10.7.1的MacBook Pro

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11A511)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-383, mixed mode)

谷歌Chrome 13.0.782.220看起来就是看不到你的小程序

  • archive参数是必需的,jar的路径必须是 正确指定
  • 如果不指定路径,则假设它与testpage位于同一目录中,而不是子目录

  • 我们还假设jar包含您的Test.class:)

    要使其易于测试,请更改以下内容:

    <!doctype html>
    <html><head>
      <meta charset="utf-8"/>
      <title>Test</title>
    </head><body>
      <p>
        <object type="application/x-java-applet" width="50" height="70">
          <param name="code" value="Test" />
          Test failed.
        </object>
      </p>
    </body></html>
    
    
    试验
    
    测试失败。
    

    为此:

    <html>
    <head>
      <meta charset="utf-8"/>
      <title>Test</title>
    </head>
    <body>
      <p>
        <applet code="Test" width="50" height="70">
          Test failed.
        </applet>
      </p>
    </body>
    </html>
    
    
    试验
    
    
    是现在嵌入小程序的正确方法。它会根据浏览器的需要编写对象或嵌入元素,并且它的目标是正确地执行此操作。

    用于部署小程序,而不是您自己的自制解决方案。我同意。我这样做的原因是我正在修改一本关于HTML的书。最后,有一个例子说明了如何插入Java小程序,我希望它简短一些。Java部分超出了本书的范围,但将小程序添加到页面却不是。请使用
    applet
    元素,而不是
    object
    元素。吻[见我对你的回答的评论]谢谢你的回复!不过,我已经仔细检查过了。很高兴知道归档参数是强制性的——我在哪里可以找到关于这些参数的文档?“归档参数是强制性的”不,不是。不符合W3C的规定。此外,如果元素是小程序元素,则只有小程序使用归档文件时才需要。谢谢。我再次将我的书更新为HTML5。在HTML5中,
    中的
    标记和属性
    classid
    <代码>
    甚至从1999年起在HTML4.01中被弃用。我当然会提到这些替代方案作为旧浏览器的后备方案,但我想展示添加applet的正确新方法。我可以理解为什么WHATWG已经从HTML5中删除了Java特有的东西,而Oracle自然希望继续保持Java在HTML中有自己标记的美好时光。不幸的是,这意味着我一直无法找到任何关于如何在HTML5中添加小程序的官方来源。这让我回到。。
    deployJava.js
    有什么问题?这是现在嵌入小程序的正确方法。它根据浏览器的需要编写一个
    对象
    嵌入
    元素,其目的是正确地执行。我觉得我们好像在兜圈子。我对
    deployJava.js
    的问题是,这本书太过分了。但你是对的;这是部署Java小程序的正确解决方案。请在回答中再写一遍,这样我就可以把它标记为解决方案了!
    <!doctype html>
    <html><head>
      <meta charset="utf-8"/>
      <title>Test</title>
    </head><body>
      <p>
        <object type="application/x-java-applet" width="50" height="70">
          <param name="code" value="Test" />
          Test failed.
        </object>
      </p>
    </body></html>
    
    <html>
    <head>
      <meta charset="utf-8"/>
      <title>Test</title>
    </head>
    <body>
      <p>
        <applet code="Test" width="50" height="70">
          Test failed.
        </applet>
      </p>
    </body>
    </html>