jad ( java application discriptor ) 文件是j2me的一个重要的组成部分,在我们发布j2me程序的时候,jad文件经常报出各种错误,如:
com.sun.kvem.midletsuite.invalidjadexception: reason = 13
其中的错误原因是1-52的代码,很让人费解。我在网上找到了这些代码的解释,和大家分享如下:
public static final int jad_server_not_found = 1;public static final int jad_not_found = 2;public static final int missing_provider_cert = 4;public static final int corrupt_provider_cert = 5;public static final int unknown_ca = 6;public static final int invalid_provider_cert = 7;public static final int corrupt_signature = 8;public static final int invalid_signature = 9;public static final int unsupported_cert = 10;public static final int expired_provider_cert = 11;public static final int expired_ca_key = 12;public static final int missing_suite_name = 13;public static final int missing_vendor = 14;public static final int missing_version = 15;public static final int invalid_version = 16;public static final int old_version = 17;public static final int missing_jar_url = 18;public static final int jar_server_not_found = 19;public static final int jar_not_found = 20;public static final int missing_jar_size = 21;public static final int suite_name_mismatch = 25;public static final int version_mismatch = 26;public static final int vendor_mismatch = 27;public static final int invalid_key = 28;public static final int invalid_value = 29;public static final int insufficient_storage = 30;public static final int jar_size_mismatch = 31;public static final int new_version = 32;public static final int unauthorized = 33;public static final int jad_moved = 34;public static final int cannot_auth = 35;public static final int corrupt_jar = 36;public static final int invalid_jad_type = 37;public static final int invalid_jar_type = 38;public static final int already_installed = 39;public static final int device_incompatible = 40;public static final int missing_configuration = 41;public static final int missing_profile = 42;public static final int invalid_jad_url = 43;public static final int invalid_jar_url = 44;public static final int push_dup_failure = 45;public static final int push_format_failure = 46;public static final int push_proto_failure = 47;public static final int push_class_failure = 48;public static final int authorization_failure = 49;public static final int attribute_mismatch = 50;public static final int proxy_auth = 51;public static final int trusted_overwrite_failure = 52;
有了这些代码的解释,我们就很容易知道错误的原因了。
另外,大家知道,有的手机在安装jar文件的时候,不需要jad文件。这是因为手机厂商在操作系统中内置了对jar文件的解析功能。就如同手机自动生成jad文件,然后使用这个jad文件安装jar文件一样。
