【问题标题】:Starting Java applet directly from jar file直接从 jar 文件启动 Java 小程序
【发布时间】:2011-02-05 22:29:41
【问题描述】:

目标是从 jar 文件运行小程序。

问题是小程序似乎只想从分解的 jar 文件中运行。

网上的示例建议这个小程序标签:

  <applet code="com.blabla.MainApplet"
          archive="applet.jar"
          width="600" height="600">

这甚至不会尝试查看 jar 文件并失败:

Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8080/helloWord/com/blabbla/MainApplet.class
 at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
 at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
 at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 ... 7 more

将代码库而不是归档属性设置为 jar 文件。看起来好一点。但是,JVM 并没有意识到它必须打开 jar 文件:

  <applet code="com.blabla.MainApplet"
          codebase="applet.jar"
          width="600" height="600">


Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8080/helloWord/applet.jar/com/blabbla/MainApplet.class
 at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
 at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
 at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 ... 7 more

必须如何制定applet 标签才能从jar 文件的内部 开始一个applet 类?

【问题讨论】:

    标签: jar applet


    【解决方案1】:

    问题在于 Java 控制台正在缓存以前的坏 jar。在 Java 控制台中清除缓存后,第一个版本的代码就可以正常工作了。

    <applet code="com.blabla.MainApplet"
              archive="applet.jar"
              width="600" height="600">
    

    【讨论】:

      猜你喜欢
      • 2017-01-03
      • 1970-01-01
      • 2016-12-10
      • 2011-02-28
      • 1970-01-01
      • 2011-06-23
      • 1970-01-01
      • 2011-02-21
      相关资源
      最近更新 更多