【问题标题】:How to load a Java applet class from a subfolder with the embed tag?如何从带有嵌入标签的子文件夹中加载 Java 小程序类?
【发布时间】:2012-09-25 17:26:32
【问题描述】:

我在某个子目录中有一个 Java Applet 作为单个类文件(无 JAR 文件),我想将它嵌入到不同目录中的 HTML 页面中。我想为它使用embed 标签。但我无法让它工作。到目前为止,这是我的代码:

<embed type="application/x-java-applet;version=1.6"
       width="512" height="512"
       code="subfolder/MyApplet.class" />

根据 Apache 日志文件,Class 文件已加载但无法启动。 Java 说没有名称为subfolder.MyApplet 的类。因此它将子目录视为包名。 codebase 参数(不知道这是否对 embed 有效)没有任何区别。也许还有其他一些记录不充分的参数来指定从中加载类的代码库目录?

请注意,我的问题不是关于如何嵌入 Java 小程序。我知道如何使用已弃用的 applet 标记或 object 标记运行它,并将类打包到 JAR 文件中。我的问题是如何让它在这种特定情况下工作:

  • 没有 JAR 文件,只有单个类文件。
  • 类文件与 HTML 页面不在同一目录中。
  • 使用embed标签。

【问题讨论】:

  • @Andrew Thompson 我正在评估嵌入 Java 小程序的各种方法。 HTML 5 规范说此标记将用于 Java 小程序,而不是已弃用的 applet 标记。那么为什么你认为embed 是无效的呢?从 Oracle/Sun 评估这个复杂的部署脚本在我的 TODO 列表中,但老实说,我更喜欢使用几行标准 HTML 代码,而不是包含来自 Oracle 的大型库,其中包含许多压缩的魔术函数。

标签: java html applet embed


【解决方案1】:

在使用“embed”标签时考虑使用“codebase”标签。例如,

   <embed type="application/x-java-applet;version=1.6"
       width="512" height="512"
       code="MyApplet.class" 
       codebase="subfolder/"/>

您应该能够在“代码库”标签中使用相对路径和绝对路径。

希望对您有所帮助...

【讨论】:

  • 修改为将java_codebase 标签更改为codebase 标签。 java_codebase&lt;object&gt; 标签一起使用。
  • 嗯...我之前尝试过codebase,但它不起作用。但是在更改了类名之后,它现在神奇地起作用了。看起来我遇到了一些缓存问题。
【解决方案2】:

尝试以下操作:

<embed type="application/x-java-applet;version=1.6"
       width="512" height="512"
       codebase="subfolder/"
       code="MyApplet.class" />

请参阅this documentation

【讨论】:

  • 谢谢。请参阅我在另一个答案中的评论。看不到你们谁先回答,所以我接受了声誉较低的答案。我希望你不介意:-)
猜你喜欢
  • 1970-01-01
  • 2010-09-08
  • 1970-01-01
  • 2018-05-12
  • 1970-01-01
  • 2012-05-05
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
相关资源
最近更新 更多