2

我目前的任务是在 Ubuntu NetBeans 中编写和开发一个 Java 项目(广泛使用调色板,在我看来,这使我无法继续使用 NB)并将其转移到 XP,因为它涉及与网络摄像头接口的软件并且客户端严格使用XP。在 Ubuntu 中,该项目可以正确且完整地编译,除了我负责修复的少数功能问题。

因此,使用 Subversion,我在运行 XP 的 VirtualBox 上将其检查到 NB 中,据我所知,添加了代码中调用的所有正确库。仍然存在一些问题,几乎所有问题都与@Override方法上方的注释有关,这些方法是扩展的内部类的一部分org.jdesktop.application.Task<Boolean, Void>。我对此进行了研究,并且对@Override表示的含义有非常模糊的理解,但不确定如何将其应用于我的情况。

多个类中问题的一致性表明我没有正确完成我的类路径,但我在那里找不到任何错误。根据您的经验,这些情况表明了什么样的问题?

编辑:我忘了提到我已经尝试过似乎是最常见的建议;一切都是新安装的,两台机器上使用的JDK都是1.6。

编辑编辑:错误发生在内部:

private class TakeSnapshotTask extends org.jdesktop.application.Task<Boolean, Void>

在以下的第一行:

@Override
protected Boolean doInBackground() 

我收到以下错误:

“方法不会覆盖或实现超类型的方法”

它似乎@Override表示类似于 C 中的重载运算符,仅使用方法。在这种情况下,我开始认为问题在于 jdesktop 的 Task 接口没有方法Boolean doInBackGround()。但是,我很难确定 jdesktop API。我已将 jdesktop 添加为标签。

4

3 回答 3

1

我的第一个想法是区分大小写,但这通常会以另一种方式表现出来(即文件在 Windows找到但在 Linux 中找不到)。您的项目中是否有可能具有相同名称但在不同情况下的文件?在这种情况下,与 Ubuntu 上区分大小写的匹配相比,Windows 可能只是找到了某个文件的不同(显然是错误的)版本。

无论如何,如果您发布实际的错误消息可能会有所帮助,而不是我们不得不从“几乎所有与@Override 注释相关的问题”中猜测问题。

于 2010-06-29T13:20:11.330 回答
0

平台/操作系统无关紧要。该错误强烈表明您正在两个不同的 Java 环境中运行代码。

仔细检查您不仅在针对 1.6 JDK 编译代码,而且还在1.6 JVM 上执行它

于 2010-06-29T13:58:01.373 回答
-1

问题解决了。库中缺少 JAR 文件。对我来说,可以访问其中的 .class 文件对我来说是个新闻,这要感谢 Ha!

于 2010-06-29T15:45:25.767 回答