繁体   English   中英

codenameone中无效的“未解决的编译问题”

[英]invalid “Unresolved compilation problems” in codenameone

我在codenameone中有无效的“未解决的编译问题”:

该项目具有有效的语法,并且可以在其他系统上正常工作。

但是,在我的系统上,我有奇怪的编译错误...它说指定的函数未定义,但实际上是已定义。 这是一个例子:

对于以下代码行:

Container c = new Container();
Label l = new Label ("label");
c.add(l);

(我导入com.codename1.ui.Container并导入com.codename1.ui.Label)

我收到以下错误:

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at com.codename1.impl.javase.Executor$1$1.run(Executor.java:100)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1144)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:963)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
Caused by: java.lang.Error: Unresolved compilation problem: 
    The method add(Label) is undefined for the type Container

    at com.mycompany.hi.HiWorld.start(HiWorld.java:53)
    ... 9 more

如果我将c.add(l)更改为c.addComponent(l),它将编译良好。

我有最新版本的codenameone(1.0.0.201511241324)和java jdk(jdk1.8.0_65)。

谢谢!

我假设这是一个旧项目? 您是否以任何方式更改了类路径?

您是否使用版本控制的版本

如果是这样,那将临时安装旧版本的库。

add是在过去几个月中add的方法(在此之前,我们只有addComponent 。因此,如果您针对旧版本进行构建,则该方法将失败。

您可以转到项目属性,在“代号一”部分中,按“更新客户端库”按钮,然后刷新项目。 如果您使用版本控制的版本,这应该在add时触发错误,或者允许您运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM