Netbeans编译得很好但在编辑器中显示错误

时间:2012-03-06 04:14:10

标签: java netbeans jar classpath

Netbeans没有从另一个项目导入jar。类路径很好,项目编译得很好,但编辑器在项目中显示了几个错误,因为它无法在该jar中找到类。我已经重建了项目并清理了Netbeans的缓存(〜/ .netbeans / 7.1.1 / var / cache /)

Netbeans版本:7.1.1和7.0

操作系统版本:MacOS 10.7.3

问题在于Netbeans的代码编辑器。我的项目编译并且包装得很好。我没有问题。我没有理由在代码编辑器中有这个恼人的错误消息(例如红色背景)。


我刚刚找到的解决方法:重命名依赖项目(使用重构)并将新jar添加到我的项目中。我仍然不知道发生了什么。

8 个答案:

答案 0 :(得分:4)

我今天在NetBeans 7.2.1中遇到了同样的问题。我可以很好地构建项目,但在源文件和Projects树列表中得到了错误标记。在构建项目时,似乎编译器使用了与在编辑窗口中工作的编译器不同的类路径。

在我的情况下,我发现我们在不同的jar中有不同类的相同的包和类名。我不知道这是否相关或只是一个红鲱鱼。

我在一个使用这两个罐子的项目中仍然有错误。看起来它只能看到pom.xml文件中列出的第二个jar中的类(我们使用Maven)。我评论了第二个jar&重建,然后取消评论第二个jar&重建,突然我的所有错误都消失了。

所以我没有明确的解决方案,但删除并重新引入依赖项对我有用。

答案 1 :(得分:0)

如何导入jar文件?您必须右键单击“项目面板”中的“Libralies”,然后单击“添加JAR /文件夹”。并选择要导入的jar文件。

答案 2 :(得分:0)

我认为您错误地导入了jar文件。尝试以下步骤将jar(s)正确添加到类路径中。

1. Select your project from the Projects explorer.
2. Right click -> Properties.
3. Select Libraries from Categories list.
4. Click on Add JAR/Folder button.
5. Add your jar(s) & click on OK to finish the process.

现在,它应该解决参考问题

答案 3 :(得分:0)

你提到过,编辑器会显示错误,因为它找不到该jar中的类。那么,你确定你使用的是正确的jar或正确版本的jar吗? Eclipse无法找到任何类或只能找到几个类?

答案 4 :(得分:0)

我希望我的回答有助于解决问题(即使为时已晚:)) 实际上,我有一个有两个模块的maven项目。 Module1包含类com.x.y.MyClass和Module2,我正在尝试导入com.x.y.MyClass。 它编译得很好,我可以使用netbeans运行单元测试,但编辑器中的错误令人尴尬。所以我将Module1版本和打包类型添加到Module2的pom.xml中,这解决了我的问题(我知道,硬编码模块版本非常糟糕,但至少,我可以在不担心编辑器错误列表的情况下工作)

干杯!

答案 5 :(得分:0)

这肯定太晚了,但今天我用Netbeans 7.2遇到了这个问题。所有的jar都已到位,代码是从构建菜单编译的,但Netbeans正在错误地标记这些文件。

同样精确的项目正在使用Netbeans 8.0.1进行编译 问题出在" Source Root"。我点击菜单窗口 - >调试 - >来源(Alt + Shift + 8)我注意到我已经在项目的某些jar依赖项上指定了不再有效的源代码。清理它们是一个两步的过程:

  1. 从nbproject dir中的项目文件中清除它们
  2. 从中清除它们 %APPDATA%\的NetBeans \ 7.2 \配置\设定\有机\ netbeans的\模块\ java中\ j2seplatform \ Sources.properties
  3. 清理完毕后,我重新启动了Netbeans,一切正常。

    希望这有助于某人。

答案 6 :(得分:0)

虽然页面内容没有任何错误,但我遇到了几个jsf xhtml页面的问题。所以我打开每个页面并剪切所有内容,保存空文件然后粘贴所有内容并保存。它为我解决了红色标记错误符号。

答案 7 :(得分:0)

我知道这个问题有点老了,但对于那些目前可能面临同样问题的人,希望这会有所帮助。 将我的 Maven 项目移动到一个新目录后,我面临着同样的挑战。为了解决这个问题,我只是简单地

  1. 将新文件夹(包含我的 Maven 项目的文件夹)重命名为与前一个文件夹相同的名称。
  2. 重新导入 Netbeans 中的项目。