2

我用 J2ME Polish 开发了一个 J2ME 应用程序。诺基亚现在验证将提交到商店的内容,挑战是在验证我的 JAR 和 JAD 文件期间,我得到 Error 217 - The JAR manifest does not end with a new line

我检查了我的 JAR 清单,发现它以新行结尾。有人有任何建议或解决方案吗?

4

3 回答 3

2

仔细检查清单的最后一行是否没有不可见的字符,如空格或制表符。

如果清单确实有换行符,则错误消息显然意味着此诺基亚设备中的错误。

不过,您的清单可能有问题,诺基亚仅使用不正确的消息来指示其中存在其他问题。获取这样的消息,请确保您的清单符合 JAR 文件规范(在线提供)的各个部分,特别是:

首先我要检查的是清单行不超过"72 bytes (not characters), in its UTF8-encoded form"

另一件值得尝试的事情是尝试各种指定的行尾样式:CR LF | LF | CR. 在您的 IDE / build 中可能有一个设置来管理它,寻找类似“DOS / Unix / Mac 换行符”的东西。规范声明所有这些都可以,但您最好考虑设备中无法识别特定样式换行符的错误的可能性。

还可以考虑在诺基亚论坛上检查/询问这可能是特定设备的已知问题。

于 2012-07-25T12:20:46.527 回答
1

终于搞定了,我使用java sdk提供的jar工具从jar文件中提取midlet,如下:

jar xf myjarfile.jar META-INF/MANIFEST.MF 

然后在文本编辑器中编辑文件并更新 jar 文件中的清单

jar umf META-INF/MANIFEST.MF myjarfile.jar

谢谢大家的建议。

于 2012-07-25T14:59:50.537 回答
0

可选地,您可以使用 winrar 软件打开您的 jar 文件,然后您可以从 META - INI 文件访问清单。从这里您可以使用文本编辑器对其进行编辑,之后您可以保存注意:保存后注意大小将会改变因此,请确保在编辑后检查 jar 的大小,通过右键单击然后查看属性。检查大小,然后通过在文本编辑器中打开 jad 文件将其相应地更改为 jad 文件

就是这样:-0

于 2012-07-27T06:30:50.957 回答