首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java Search中,类文件名必须以.class异常结尾

在Java Search中,类文件名必须以.class异常结尾
EN

Stack Overflow用户
提问于 2008-08-09 15:40:30
回答 1查看 26.2K关注 0票数 67

我希望有人能帮助我解决我在使用Eclipse中的java搜索功能时遇到的问题。

当在一个特定的项目上使用java搜索时,我得到了一条错误消息Class file name must end with .class (参见下面的堆栈跟踪)。这似乎并不是在所有的项目上都会发生,只有一个特别的项目,所以也许我应该尝试重建一些东西?

我已经试过Project -> Clean了。关闭Eclipse,删除所有已构建的类文件,重启Eclipse无济于事。

我在谷歌上找到的解决这个问题的唯一参考资料是http://www.crazysquirrel.com/computing/java/eclipse/error-during-java-search.jspx,但不幸的是,他的解决方案(关闭、删除类文件、重新启动)对我不起作用。

如果有人能提出一些建议,或者我能收集到更多的信息来帮助追踪它,我将非常感谢你的指点。

代码语言:javascript
复制
Version: 3.4.0
Build id: I20080617-2000

我还发现了这个线程- http://www.myeclipseide.com/PNphpBB2-viewtopic-t-20067.html -它表明当项目名称包含句点时可能会出现同样的问题。不幸的是,在我的设置中不是这样的,所以我仍然被卡住了。

代码语言:javascript
复制
Caused by: java.lang.IllegalArgumentException: Class file name must end with .class
at org.eclipse.jdt.internal.core.PackageFragment.getClassFile(PackageFragment.java:182)
at org.eclipse.jdt.internal.core.util.HandleFactory.createOpenable(HandleFactory.java:109)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1177)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.locateMatches(JavaSearchParticipant.java:94)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:223)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:506)
at org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:551)
at org.eclipse.jdt.internal.corext.refactoring.RefactoringSearchEngine.internalSearch(RefactoringSearchEngine.java:142)
at org.eclipse.jdt.internal.corext.refactoring.RefactoringSearchEngine.search(RefactoringSearchEngine.java:129)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor.initializeReferences(RenameTypeProcessor.java:594)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor.doCheckFinalConditions(RenameTypeProcessor.java:522)
at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:45)
at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:225)
at org.eclipse.ltk.core.refactoring.Refactoring.checkAllConditions(Refactoring.java:160)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:77)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:709)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4650)
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:92)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

感谢McDowell,关闭和打开项目似乎解决了这个问题(至少现在是这样)。

EN

回答 1

Stack Overflow用户

发布于 2009-12-15 03:57:12

关闭这些项目对我来说并没有起到什么作用。我开始使用-clean标志来启动eclipse,但出于某种原因,它还是起作用了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档