2012-01-22 107 views
7

我使用NetBeans 7,Maven和NetBeans平台开展学校项目。该项目是使用“Maven/POM项目”项目模板创建的。它是一个多层“企业”应用程序,它使用几个模块(模型,集成,业务,演示文稿,富客户端应用程序本身以及其他几个模块)。NetBeans中的“找不到符号”错误

这些模块之间存在依赖关系(但没有循环依赖关系)。问题是,Maven或NetBeans一直在困惑。有几种类型的问题在没有任何触发的情况下出现令人震惊的问题。我必须不断重新编译模块,关闭和重新打开NetBeans,清除NetBeans缓存,删除和读取依赖项等,以便暂时删除问题。我一直有这些问题的NetBeans在Windows XP SP3和Mac OS X两个不同的安装

的症状是:

1)有时NetBeans的决定对从另一个模块导入的类的存在(我得到cannot find symbol错误,这种情况会重复发生,有时会发生在我几秒前成功编译的模块上,大多数情况下,重新编译依赖关系并没有帮助,POM中声明了必要的依赖关系,jar文件存在,如果我展开他们在项目视图中,我可以看到有问题的类

2)有时NetBeans会判定导入的类的方法不'实际上它抛出了一个它声明抛出的异常。由于对这些方法的调用通常包含try块,因此NetBeans会显示错误消息a.package.SomeException is never thrown in body of corresponding try statement。如果我不删除try块,则由于NetBeans,模块不会编译。如果删除块,该模块不会编译,因为Maven(Maven,出于某种原因,可以看到异常,并抱怨说它没有被捕获)。这也反复发生,我不太确定如何可靠地解决这个问题。

在这一点上,Maven和NetBeans的问题非常糟糕,我实际上无法处理该项目。如果我不需要使用NetBeans和Maven,我现在已经回到了vim和Makefiles。有没有人至少认识到这些问题?

编辑:我已经提交的项目,得到了30个20分吧,因为我已经在它做一些额外的工作,直到它离开alpha阶段,我希望永远不会有工作再次使用NetBeans。

+2

尝试在NetBeans以外的项目中使用命令行上的maven来查看netbeans或maven是否存在问题。 – Istao

+0

我刚升级到NetBeans 7.1。现在,Maven编译一切都没有问题,但是NetBeans仍然显示**在一些文件中找不到符号**。 – Honza

+0

我只想知道这些事情是如何发生的。这个软件如何使这个软件几乎无法使用,并且每个人都假装它不存在,这怎么可能? – Honza

回答

0

我有netbeans标记错误的问题'...从未抛出相应的尝试语句正文中的异常' 项目将建立好,但错误消息不会消失。 最后通过退出并重新打开netbeans来修复它。

我在Mac上,关闭按钮并没有真正关闭NetBeans,需要完全退出。

2

我有一个is never thrown我的Maven主项目下的Netbeans 7.0.0

在一个多模块Maven项目掩盖cannot find symbol有问题的象征,是在另一个模块中的类。

我重构/重命名没有找到的类 - 这解决了问题。然后我将其重新命名 - 问题保持不变。

并不理想,但我想分享。

+0

这似乎不是我的情况,但它可能对别人有用,所以感谢您的评论。 – Honza

+0

谢谢,这有助于。多模块项目中依赖项被标记为缺失(无法找到符号),即使它存在。烦人的错误。重命名和重建帮助。 – Lenymm

0

删除依赖,构建(并获取编译错误),然后重新添加它(手动,从pom.xml或从界面)帮助我。但我同意这是一个主要的错误。

-1

如果您有多个项目,请仔细选择保存时编译的netbeans选项,如果您的某些依赖项已启用此选项,则主项目的编译将失败,禁用保存时的自动编译,重新编译依赖项建立),你应该没问题。

0

我在NetBeans 8.0.2中遇到过这个问题。这个问题显然与龙目岛项目有关,但我不知道为什么会发生。我安装了maven,并在我的每个项目上做了'mvn clean install',它似乎清除了这个问题。之后,NetBeans再次开始工作。