Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
预先验证类时出错-Java/Eclipse/Blackberry_Java_Eclipse_Blackberry - Fatal编程技术网

预先验证类时出错-Java/Eclipse/Blackberry

预先验证类时出错-Java/Eclipse/Blackberry,java,eclipse,blackberry,Java,Eclipse,Blackberry,我在同一个工作区中有两个项目,使用Eclipse的单个工作区 项目1-引用项目2,还包含项目2的“Java构建路径” 项目2-不引用任何内容 Project1包称为Project1 Project2包称为Proejct2 我使用以下方法将项目2导入项目1: import Project2.ClassName 编译时,我收到错误: Error preverifying class Project1.Launcher Project1 line 0 BlackBerry Java P

我在同一个工作区中有两个项目,使用Eclipse的单个工作区

项目1-引用项目2,还包含项目2的“Java构建路径”
项目2-不引用任何内容

Project1包称为Project1
Project2包称为Proejct2

我使用以下方法将项目2导入项目1:

import Project2.ClassName 
编译时,我收到错误:

Error preverifying class Project1.Launcher    Project1 line 0    BlackBerry Java Problem
Error!: Error: preverifier failed: C:\Users\footose\Desktop\eclipse\plugins\net.rim.eide.componentpack4.5.0_4.5.0.16\components\bin\prev ...    Project1        line 0    BlackBerry Java Problem 

任何建议都会非常棒

这可能是因为您正在使用的net.rim.eide库中没有正确执行预验证步骤。
此线程建议实际执行,甚至对每个类执行预验证过程(如已完成)


注:有关数字为:

Java应用程序开发和部署周期中的一个阶段,设计用于在(连接的有限设备配置)上运行

预验证在运行前对Java字节码执行某些检查
如果第一次验证合格,则预验证者会对类文件进行注释(使用标准Java字节码“属性”,这样这些文件仍然是普通的旧Java字节码,并且在VMs中可以执行,而不知道预验证的好处),然后保存带注释的类文件或将它们传递给编译链中的下一个工具

当尝试运行基于J2ME CLDC的应用程序时,它会检查Java类文件中的这些预验证注释。类文件中的适当注释保证进行了某些编译时检查,因此KVM可以更快地通过自己的验证和安全检查,并更快地开始执行应用程序

Sun的CLDC参考实现SDK包括“预验证”工具。在通过javac(或您最喜欢的Java编译器)编译代码之后,您可以使用该工具


要正确编译,右键单击Project1并转到“属性>Java构建路径>项目”。添加Project2作为依赖项,您将能够正确编译。

我在使用默认Java 6编译器设置时收到此错误。尝试将其设置为1.3,方法是转到“属性>Java编译器”并处理这些设置。

在尝试任何操作之前,删除bin文件夹并重新编译。当您使用一个JRE系统库构建项目,然后再更改为另一个项目时,可能会发生此错误。

如果只有一个项目,我可以编译没有问题,但只有在我有两个项目时才会发生此错误。因此。。。Project2使用的库可能存在一些问题,可能是吗?或者在预验证步骤方面依赖一个项目与另一个项目的一些副作用。。。可能您可以尝试减少依赖项的直接性(即,不通过“项目”选项卡),而通过更多路径,以检查是否仍然触发错误。好的..我删除了Project2的实例化,并保留了包的导入,错误消失了。然后我又添加了实例化,错误又回来了。然后我删除了导入,并直接实例化了对象,如下所示:bbFindGUI.bbFindScreen bbf=new bbFindGUI.bbFindScreen();错误再次返回..对,因此它链接到Project2类的使用,该类触发预验证检查和错误消息。在Project1中尝试使用Project2类之前,是否有可能对它们进行手动预验证?我不确定手动预验证是如何工作的,但我今天会检查一下并与您联系。