【问题标题】:Unification of .jar and .jad files in a J2ME applicationJ2ME 应用程序中 .jar 和 .jad 文件的统一
【发布时间】:2012-02-10 18:16:17
【问题描述】:

目前,我正在使用 LWUIT 库为手机开发 J2ME 应用程序。我的项目的构建结果包括一个 .jar 文件和一个 .jad 文件。我想知道,有没有办法将这些文件统一到一个 .jar 文件中?为什么我的应用程序的某些属性应该在单个(且简单的).jad 文件中而不是 jar 文件的 METAINF/manifest.mf 文件中提及?这确实使部署过程更加困难。

【问题讨论】:

    标签: java mobile java-me jar manifest.mf


    【解决方案1】:

    .jar.jad 文件分开存在历史原因(甚至整个 J2ME 平台也是历史原因 :))。

    正如this learning material 所述,.jar 文件包含应用程序逻辑和资源,.jad 文件包含应用程序的元数据(名称、作者、版本、要求等)及其下载 URL 。回到那个时候,当移动带宽非常昂贵时,首先只下载应用程序的元数据(.jad 文件)是完全合理的,因为它要小得多。然后,如果手机满足要求,并且没有安装更新版本的应用程序,则可以实际下载应用程序(.jar文件)。

    现在,这个带宽问题已经无关紧要,大多数 J2ME 构建环境也将元数据包含在 .jar 文件的 META-INF/manifest.mf 条目中,并生成 .jad 文件作为构建过程的副产品兼容性原因。

    我认为几乎所有支持 J2ME 的现代手机都能够仅使用 .jar 文件来安装和运行应用程序,您只需将其复制到手机并运行它,不需要 .jad 文件。因此,要回答您的问题,您可以简单地忽略.jad,而不是尝试“统一”这两个文件。

    但是,当您确实需要摆脱 .jad 文件时,您必须查看您的开发环境(例如 NetBeans)的构建设置,可能有一个复选框或开关会禁用该文件的生成.jad 文件,甚至是一个属性页,您可以在其中编辑应用程序清单中包含的条目(manifest.mf 文件)。但这取决于您使用的开发环境,并且没有通用的 J2ME 解决方案。

    【讨论】:

    • +1 感谢漂亮的 cmets。将通知您我的发现。
    • 我在 netbeans 上开发,找不到如何忽略 jad 文件的创建。如果您找到任何方法,请告诉我。
    • 我为 J2ME 开发是很久以前的事了,所以我的记忆并不完美,所以我打开了我的一个旧 NetBeans 项目,但我没有找到任何禁用 @987654337 的选项@创作。也许您可以手动更改 Ant 构建脚本(build.xmlbuild-impl.xml)以省略 JAD 描述符的创建,但我认为这不值得麻烦。我认为你必须忍受它。
    • 我认为最新版本的 Netbeans 默认不会创建 jad :)
    猜你喜欢
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多