Programing

Java 검색에서 클래스 파일 이름은 .class 예외로 끝나야합니다.

lottogame 2020. 11. 17. 07:42
반응형

Java 검색에서 클래스 파일 이름은 .class 예외로 끝나야합니다.


나는 누군가가 특정 프로젝트에서 Eclipse의 Java 검색 기능을 사용하는 문제로 나를 도울 수 있기를 바랐습니다.

특정 프로젝트에서 Java 검색을 사용할 때 다음과 같은 오류 메시지가 표시됩니다 Class file name must end with .class(아래 스택 추적 참조). 이것은 모든 프로젝트에서 발생하는 것이 아니라 특정 프로젝트에서만 발생하는 것 같습니다. 그래서 내가 재 구축해야 할 것이 있습니까?

나는 이미 시도했습니다 Project -> Clean... 그리고 Eclipse를 닫고 모든 빌드 된 클래스 파일을 삭제하고 Eclipse를 다시 시작하면 아무 소용이 없습니다.

문제에 대해 Google에서 찾을 수있는 유일한 참조는 http://www.crazysquirrel.com/computing/java/eclipse/error-during-java-search.jspx 이지만 불행히도 그의 솔루션 (닫기, 클래스 파일 삭제, 다시 시작)이 작동하지 않았습니다.

누군가가 시도해 볼 것을 제안 할 수 있거나 그것이 다운되었는지 추적하는 데 도움이 될 수있는 더 많은 정보를 수집 할 수 있다면, 나는 그 조언을 대단히 감사하겠습니다.

Version: 3.4.0
Build id: I20080617-2000

또한 방금이 스레드를 찾았습니다-http: //www.myeclipseide.com/PNphpBB2-viewtopic-t-20067.html- 프로젝트 이름에 마침표가 포함되어있을 때 동일한 문제가 발생할 수 있음을 나타냅니다. 불행히도 내 설정에서는 그렇지 않으므로 여전히 갇혀 있습니다.

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, 프로젝트를 닫고 열면 문제가 해결 된 것 같습니다 (적어도 지금은).


Eclipse의 특이성을 수정하기위한 두 가지 범용 메커니즘 :

  • 프로젝트 닫기 및 열기
  • 프로젝트를 삭제하고 (디스크에서는 제외!) 기존 프로젝트로 다시 가져 오기

실패하면 bugs.eclipse.org 가 답을 제공 할 수 있습니다.

작업 공간이 손상된 것을 캐싱하는 경우 workspace / .metadata / .plugins을 찾아서 삭제할 수 있습니다 . 대부분의 항목은 상당히 일시적입니다 (백업 및 삭제 된 환경 설정을 감시하지만).


버그 269820에 대한 댓글 # 9 는 검색 색인을 삭제하는 방법을 설명합니다. 이는 증상이 두려운 손상된 색인에 대한 해결책으로 보입니다.

"항목 필터링"중에 내부 오류가 발생했습니다.
클래스 파일 이름은 .class로 끝나야합니다.

메세지 박스.

검색 색인을 삭제하는 방법 :

  1. Eclipse 닫기
  2. <workspace> /. metadata / .plugins / org.eclipse.jdt.core / *. index 삭제
  3. <workspace> /. metadata / .plugins / org.eclipse.jdt.core / savedIndexNames.txt 삭제
  4. Eclipse를 다시 시작하십시오.

이 오류가 다른 날에 발생했습니다. 내 출력 폴더에서 모든 .class-files 및 리소스를 수동으로 삭제하려고했습니다. 작동하지 않았습니다. 내 컴퓨터 (WinXP)를 다시 시작했습니다. 작동하지 않았습니다. Eclipse에서 내 프로젝트를 닫고 다시 열었습니다. 일했다 !!! 이것이 누군가의 문제를 해결하기를 바랍니다. 검색 기능과 Eclipse에 진정으로 필수적인 것입니다.


최근 에이 문제가 발생하여 아래 시나리오가 효과적이었습니다.

  1. Eclipse 닫기
  2. 지우다 <workspace>/.metadata/.plugins/org.eclipse.jdt.core/*.index
  3. 지우다 <workspace>/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
  4. Eclipse를 다시 시작하십시오.

프로젝트를 닫는 것은 나를 위해 트릭을하지 않았습니다. 나는 -clean 플래그로 이클립스를 시작했고 어떤 이유로 작동했습니다.


다만

  • 프로젝트 닫기
  • Clear manually output folder(s)
  • Open project

(Eclipse 3.5 SR2, Build id: 20100218-1602)

참고URL : https://stackoverflow.com/questions/6816/class-file-name-must-end-with-class-exception-in-java-search

반응형