Blackberry:将Library项目用作外部Jar时出现验证错误

dev*_*oid 1 verification blackberry jar

我在Eclipse的Blackberry Java Plug-in中创建了两个Blackberry项目,即MyProjectApp(设置为应用程序项目)和MyProjectLib(设置为Library项目).现在我创建了一个简单的MainScreen类,如下所示:

public class SampleScreen  extends MainScreen {

    public SampleScreen (){
        RichTextField topbar = new RichTextField("hello world");
        add(topbar);
    }

}
Run Code Online (Sandbox Code Playgroud)

现在我将MyProjectLib导出为Jar文件,并在MyProjectApp中添加相同的外部Jar.现在我要使用以下方法触发SampleScreen:

public class MyProjectMain extends UiApplication{

     public static void main(String[] args) {

         MyProjectMain theApp = new MyProjectMain();       
        theApp.enterEventDispatcher();
    }

    public LangHostMain(){        
        // Push a screen onto the UI stack for rendering.
         pushScreen(new SampleScreen());
    }

}
Run Code Online (Sandbox Code Playgroud)

它给出了以下错误:

模块"MyProjectApp"存在验证错误.启动MyProjectApp时出错:模块"MyProjectApp"出现验证错误.

但是,如果我将SampleScreen类移动到MyProjectApp,它工作正常.导出Jar并使用它有什么问题?需要什么类型的验证?

小智 5

有一个工具preverify.exe; 它确保字节码与BlackBerry平台兼容.

BlackBerry rapc编译器在将应用程序编译为cod文件时使用java 1.3字节码格式.

如果您使用不同的字节码格式创建了jar文件,例如通过使用javac 7.0版进行编译,则此jar文件将不会通过验证.

尝试使用密钥编译jar文件,使其与VM 1.3字节码兼容,

使用-target 1.3java编译器的键值组合来构建jar文件.