j2me app中的java.lang.nosuchfielderror

时间:2011-03-24 11:40:57

标签: java java-me j2mepolish

嗨嗨朋友我创建了一个j2me应用程序。它在模拟器中完美运行,但在移动设备中显示错误,如java.lang.nosuchfielderror:No such field HEADERS.[[Ljava/lang/String;. 为什么会发生移动这种情况,它在模拟器中运行良好...... 请帮我删除这个错误......

public String connectPhoneName() throws Exception{
    String url = "http://122.170.122.186/Magic/getPhonetype.jsp";
    String phoneType;
        if ((conn = connectHttp.connect(url, HEADERS)) != null) {
            if ((in = connectHttp.getDataInputStream(conn)) != null) {
                byte[] data = connectHttp.readDATA(in, 100);
                phoneType = new String(data);
                System.out.println("DATA : " + phoneType);
            } else {
                throw new Exception("ERROR WHILE OPENING INPUTSTREAM");
            }
        } else {
            throw new Exception("COULD NOT ESTABLISH CONNECTION TO THE SERVER");
        }
    return phoneType;

}

在此代码中,我使用了HEADERS。

1 个答案:

答案 0 :(得分:1)

您的应用似乎正在使用某些库类的某些(我猜)或static finalfinal字段,这些字段在您的移动设备实现的Java ME配置文件中不存在。

但我无法弄清楚该领域的来源。也许您应该搜索您的代码库以使用“HEADER”作为标识符......


如果在您的代码库(您的MagiDEF界面)中正确声明了HEADER字段,并且您显示的代码是使用该界面中的HEADER,那么您的构建或部署过程必定有问题。具体来说,您没有部署您的代码(上面)编译过的MagiDEF版本。也许你在某些JAR文件中有旧版本的东西?

基本上,错误表示组成应用程序的某些类/接口之间存在二进制不兼容。