我正在尝试在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 ;.错误:请更正 首先是警告。
答案 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。