在codenameone build sever

时间:2016-01-02 10:46:13

标签: codenameone

我正在尝试在j2me中为symbian s60构建,我收到一个错误,我不知道如何重新解析。这是错误。

  

警告:com.karimtstech.imasuccess.Exercises $ 3:无法找到封闭   方法'无效   拉姆达$ $ markExercise 35(java.util.Hashtable中,com.codename1.ui.Container,com.codename1.components.InteractionDialog,com.codename1.ui.events.ActionEvent)'   在课堂com.karimtstech.imasuccess.Exercises警告:   com.karimtstech.imasuccess.QuestionsAnswers $ 3:无法找到封闭   方法'无效   showAnswerInHtml(java.util.Hashtable中,com.codename1.components.MultiButton,com.codename1.ui.Form,java.lang.String中)'   在课堂com.karimtstech.imasuccess.QuestionsAnswers注意:   com.codename1.impl.midp.GameCanvasImplementation:无法找到   动态引用类com.siemens.mp.game.Light注意:   com.codename1.impl.midp.GameCanvasImplementation:无法找到   动态引用类com.motorola.phonebook.PhoneBookRecord   注意:com.codename1.impl.midp.GameCanvasImplementation:无法找到   动态引用类com.nokia.mid.ui.FullCanvas注意:   com.codename1.impl.midp.GameCanvasImplementation:无法找到   动态引用类net.rim.device.api.system.Application   注意:com.codename1.impl.midp.GameCanvasImplementation:无法找到   动态引用类com.mot.iden.util.Base64注意:   com.codename1.impl.midp.GameCanvasImplementation:无法找到   动态引用类mmpp.media.MediaPlayer注意:有6个   未解析的类或接口的动态引用。你应该   检查是否需要指定其他程序罐。警告:那里   是程序类成员的两个未解决的引用。你的意见   类看起来不一致。您可能需要重新编译它们   再试一次。或者,您可能必须指定选项   ' -dontskipnonpubliclibraryclassmembers&#39 ;.错误:请更正   首先是警告。

1 个答案:

答案 0 :(得分:1)

对于旧的CLDC设备,这实际上是known issues with Java 5 compatibility

来自帖子:

  

当内部类引用泛型父级时,有时会发生这种情况   方法。通常我们的Java 5兼容性代码会转换   resp(java.util.Hashtable)到resp(codenameOneInternal.Hashtable)但是   对于匿名内部类的一些独特情况,它无法执行此操作   桥接方法(生成访问的特殊隐藏方法)   参数)。

     

所以如果你有:

void resp(final Hashtable x) {
   new ActionListener() {
       public void actionPerformed(ActionEvent e) {
             x.doSomething();
       }
   }
}
  

将其转为:

void resp(Hashtable x) {
   final Object temp = x;
   new ActionListener() {
       public void actionPerformed(ActionEvent e) {
             Hashtable x = (Hashtable)temp;
             x.doSomething();
       }
   }
}

您可以看到很多涉及此问题的其他讨论here