【问题标题】:relative codebase field in applet in embedded system嵌入式系统小程序中的相关代码库字段
【发布时间】:2013-09-06 10:14:34
【问题描述】:

我想知道是否有人可以向我提供一些关于在运行 java 小程序时代码库和代码标记是如何工作的背景。

我的问题是:我有一个 java 小程序,它包含多个目录中的多个类文件(例如,我有 main/applet.class、main/panel.class、geom/shapes.class...)。从我的本地硬盘驱动器运行时,该小程序运行良好,但现在我想将其移动到嵌入式系统之外。我的嵌入式系统中的文件如下所示:

+ webs
| - appPage.html
|-+ myApp
  |-+ main
  |   - applet.class
  |   - panel.class
  |-+ geom
      - shapes.class

(实际上比这要大很多......)。鉴于我可以从浏览器加载 appPage.html,applet 标记的代码和代码库字段会是什么样子? (我尝试了几种组合,但找不到合适的组合。我不断收到消息框,例如

<applet code = "main/applet.class" codebase="webs/myApp" width=1000 height=700></applet>

但我收到 ClassNotFoundException 错误 (main.applet.class)。我在网上搜索过,找不到关于代码库或代码应该指代的确切解释。任何帮助将不胜感激(注意:我是 java 和 html 的新手,如果我遗漏了一些明显的东西,请原谅我)。

【问题讨论】:

  • 你试过codebase="myApp"吗?
  • 是的。我已经尝试了几件事,但都没有奏效。我认为网页是从父目录中的父页面加载的,因此代码库可能必须相对于父页面而不是当前页面,这就是我到达上面示例的方式 - 当然那也没用。

标签: java html applet codebase


【解决方案1】:

对于显示的结构,这是:

<applet 
  code = "main/applet.class" 
  codebase="webs/myApp" 
  width=1000 
  height=700>
</applet>

应该是:

<applet 
  code = "main.applet" 
  codebase="../myApp" 
  width=1000 
  height=700>
</applet>

【讨论】:

    【解决方案2】:

    来自HTML applet Tag

    • codebase:为代码属性中指定的小程序指定相对基本 URL
    • 代码:指定 Java 小程序的文件名
    • 存档:指定存档文件的位置

    换句话说:

    code 指定应执行 JAR 中的哪个类以启动 Applet(此类应扩展 java.Applet 或 javax.swing.JApplet)。在你的情况下main.applet.class

    codebase 是您的 JAR 文件的相对 URL 路径。

    您还应该使用myApp.jar&lt;applet&gt; 中定义archive 属性

    【讨论】:

    • 你说的JAR文件? (我有没有提到我是新手?)。我可以尝试创建一个 JAR 文件并使用它而不是 .class 文件。它会更整洁。对于代码库,您提到 mywebserver/webs 这将是绝对路径。在我的例子中,因为它是一个嵌入式系统,所以绝对路径将取决于设备的 IP,所以我需要指定一个相对路径。所以,路径应该是相对于什么(我认为带有 标签的 html 页面的路径?)
    • 带有标签的html页面的路径 。并且创建一个罐子很容易;)谷歌它
    • 如果我将 .jar 文件移动到与 html 文件相同的目录中,并省略它的代码库字段。除此之外,它似乎不起作用。相对的代码库似乎要了我的命。无论如何,jar 文件足以满足我的需要,因为我不会用大量新文件弄乱我的父目录。谢谢
    猜你喜欢
    • 1970-01-01
    • 2014-01-28
    • 2011-06-22
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多