【问题标题】:Is it possible to declare an applet's classpath into the JAR and not into the applet tag?是否可以将小程序的类路径声明到 JAR 而不是小程序标记中?
【发布时间】:2011-02-17 16:56:34
【问题描述】:

我正在构建一个具有相当大类路径的小程序。 (externalLib1.jar, externalLib2.jar等)

MyApplet.jar,applet 的 jar 包含一个 Manifest.MF,其中包含一个 ClassPath 属性,列出了所有必需的 jar。

ClassPath = externalLib1.jar externalLib2.jar externalLib3.jar externalLib4.jar etc.jar

有没有办法在不列出<applet>标签中的所有jar的情况下加载小程序?

我想要:

<applet code="MyApplet.class" codebase="mycodeBase" archive="MyApplet.jar"/>

而不是:

<applet code="MyApplet.class" codebase="mycodeBase" archive="MyApplet.jar,externalLib1.jar,externalLib2.jar,externalLib3.jar,externalLib4.jar,etc.jar"/>

有没有办法做到这一点?

我是不是错过了什么?

感谢您的帮助!

【问题讨论】:

    标签: java jar applet classpath


    【解决方案1】:

    使用 JNLP 小程序似乎是显而易见的举措,尽管它确实需要新插件。

    (在 HTML 中列出 jar 是否有特殊问题?)

    【讨论】:

    • 就我而言,是的。我有一个相当大的小程序,有很多依赖项,其列表是由 maven 生成的。如果我可以避免重复信息(在类路径和 HTML 中有 jar 列表......),我会很高兴。我将测试 JNLP 解决方案。
    • 您可以使用 maven 和 shade 插件创建一个包含所有依赖项的单个 jar。我的回答stackoverflow.com/questions/6060560/… 有一个阴影插件的例子。
    【解决方案2】:

    您可以从外部库中解压缩所有外部二进制类。然后将所有类与您的自定义类一起压缩到一个 jar 中。这将允许您只有一个 jar 声明,但您必须修改您的代码和代码库属性以确保正确导航 jar 结构。

    这并不理想,但会起作用。如果您签署了您的 jar,您还将为外部库提供担保。

    您对大型类路径有什么顾虑?它是否在某个地方给您带来了问题?

    【讨论】:

      猜你喜欢
      • 2011-03-30
      • 2011-08-11
      • 2010-11-05
      • 2016-03-10
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 2011-05-27
      • 1970-01-01
      相关资源
      最近更新 更多