目前,我正在使用 LWUIT 库为手机开发 J2ME 应用程序。我的项目的构建结果包括一个 .jar 文件和一个 .jad 文件。我想知道,有没有办法将这些文件统一到一个 .jar 文件中?为什么我的应用程序的某些属性应该在单个(且简单的).jad 文件中而不是 jar 文件的 METAINF/manifest.mf 文件中提及?这确实使部署过程更加困难。
1 回答
.jar
和文件分开是有历史原因的.jad
(甚至整个 J2ME 平台也是历史原因 :))。
正如本学习资料所述,.jar
文件包含应用程序逻辑和资源,文件包含应用程序.jad
的元数据(名称、作者、版本、要求等)及其下载 URL。回到那个时候,当移动带宽非常昂贵时,首先只下载.jad
应用程序的元数据(文件)是完全合理的,因为它要小得多。然后,如果手机满足要求,并且没有安装更新版本的应用程序,则可以进行应用程序(.jar
文件)的实际下载。
如今,这个带宽问题已经无关紧要,大多数 J2ME 构建环境也将元数据包含在文件的META-INF/manifest.mf
条目中.jar
,并且.jad
出于兼容性原因将文件作为构建过程的副产品生成。
我认为几乎所有支持 J2ME 的现代手机都能够仅使用.jar
文件来安装和运行应用程序,您只需将其复制到手机并运行它,不需要.jad
文件。因此,要回答您的问题,而不是尝试“统一”这两个文件,您可以简单地忽略.jad
.
但是,当您确实需要摆脱.jad
文件时,您必须查看您的开发环境(例如 NetBeans)的构建设置,可能会有一个复选框或一个开关禁用.jad
文件的生成,甚至是一个属性您可以在其中编辑应用程序清单(manifest.mf
文件)中包含的条目的页面。但这取决于您使用的开发环境,并且没有通用的 J2ME 解决方案。