source

Eclipse "오류: 주 클래스를 찾거나 로드할 수 없습니다."

factcode 2022. 9. 29. 00:11
반응형

Eclipse "오류: 주 클래스를 찾거나 로드할 수 없습니다."

노트북에 Git https://github.com/chrisbramm/LastFM-History-Graph.git에 푸시한 프로젝트가 있습니다.

노트북에서 완전히 작동하며 문제없이 실행/빌드되지만 데스크톱에서는 Eclipse가 오류를 나타내지 않습니다.

오류: 주 클래스 lastfmhistoryguis를 찾거나 로드할 수 없습니다.입력판

프로젝트 구축 시점은 다음과 같습니다.

Project>Build Project

하지만 아무 일도 일어나지 않았다.PATHJRE6, JRE7 JDK 1.7.0으로 변수를 설정합니다.

Jar 파일(last.fm-filings-0.1.1.jar)을 가지고 있었습니다..classpathC:있는 파일:노트북의 \Users\Chris\Downloads 폴더는 최근에 프로젝트 폴더에 가져와서 커밋한 git 트리에 포함되지 않았습니다만, 제대로 했는지 잘 모르겠습니다.이것 또한 문제를 일으킬 수 있을까요? 하지만 거기에는 주요 논거가 없습니다.

지금 운동할 수 없어요. 무엇을 확인/변경해야 하는지.

를 하여 Java 경우public static void main(String[] args) 자체 또는 탐색기의 과 같이 선택하여

"Run As" -> "Java 어플리케이션"

이렇게 하면 Eclipse가 클래스에 대한 정보를 저장하므로 다른 이름으로 실행 메뉴(툴바의 녹색 재생 버튼) 또는 실행 구성 대화 상자에서 쉽게 클래스를 다시 실행할 수 있습니다.

그 후에 Java 클래스를 (수동으로 또는 단,) 이동할 경우 다시 선택합니다.

"Run As" -> "Java 어플리케이션",

새 위치에서 Eclipse가 원래 저장된 구성을 실행하고 원래 위치에서 이 클래스를 호출하려고 하면 이 오류가 발생합니다.


해결책:
For me, the fix was to go to the run configurations, (Green Play Button -> Run Configurations) and remove all references to the class. The next time you run

"다른 이름으로 실행" -> "Java 어플리케이션"

이클립스는 이동된 클래스에 대한 새 구성을 작성하고 오류가 사라집니다.

tl;dr: 전체 빌드 경로와 여기에 추가한 모든 항목을 수동으로 정리합니다.여기에는 추가 소스, 프로젝트, 라이브러리가 포함됩니다.

  • 프로젝트 -> 청소
  • Project -> Build automatically(자동 빌드)가 활성화 되어 있는지 확인합니다.
  • 프로젝트 -> 속성 -> Java 빌드 경로 -> 라이브러리:추가한 외부 리브를 모두 제거합니다.JRE 시스템 라이브러리와 같은 표준 라이브러리를 제거하지 마십시오.
  • 이제 메인 클래스를 실행해 보십시오."class cannot be found / load" 오류가 사라집니다.외부 립스/자르를 하나씩 추가해 보십시오.

이면 이유:컴파일러에서 라이브러리를 프로젝트에 연결하는 데 문제가 발생했습니다.에러가 발생하여 잘못된 에러 메시지가 표시되었습니다.

내 경우 컴파일러가 실패했기 때문에 빌드 경로에 AutoHotkey.dll을 추가할 수 없습니다.


그래도 작동하지 않으면 Eclipse의 내장 Error Log를 확인하십시오.

창 -> 보기 표시 -> 일반 -> 오류 로그

클래스 경로에서 절대 경로를 사용하지만 파일 구조가 완전히 다른 새 시스템으로 프로젝트를 이동했습니다.

따라서 클래스 경로에서는 (일반적으로 프로젝트에 JAR를 번들할 경우) 상대 패싱을 사용해야 합니다.

.classpath 변경 시

<classpathentry kind="lib" path="C:/Users/Chris/Downloads/last.fm-bindings-0.1.1.jar" sourcepath=""/><classpathentry kind="lib" path="C:/Users/Chris/Downloads/last.fm-bindings-0.1.1.jar" sourcepath=""/>

로.

<classpathentry kind="lib" path="last.fm-bindings-0.1.1.jar"/>

나는 위에서 말한 모든 것을 했지만, 어느 것도 나에게 효과가 없었다.

문제는 다음과 같이 해결되었습니다.

  1. [ Project ]> [ Properties ]> [ Java Build Path ]> [ Libraries ]를 오른쪽 클릭합니다.
  2. 빨간색 플래그가 있는 항아리 파일을 제거합니다.
  3. 문제가 해결되지 않는 경우는, 다음의 해결 방법을 시험해 보겠습니다.두 번째로 이 문제에 직면했을 때, 이 방법은 효과가 있었습니다.
    1. 오른쪽 클릭 [ Project ]> [ Properties ]> [ Java Build Path ]> [ Libraries ]
    2. 라이브러리 삭제
    3. 라이브러리 추가(JRE 시스템 라이브러리 선택)

나는 거의 한 시간을 보낸 후 나의 maven webapp 프로젝트에서 비슷한 문제에 직면하였습니다, 나는 나에게 효과가 있는 해결책을 찾았습니다.다음 maven 명령을 입력했더니 작동했습니다.

install - Umvn - U
나는 그것의 이면에 있는 정확한 이유를 모른다.

데스크톱 이클립스 설치로 프로젝트를 Import했다고 가정합니다.이 경우 [Project]> [ Clean ]를 선택하면 됩니다.그런 다음 프로젝트를 재구축합니다.나한테는 마법처럼 작용했어.

매우 주의: 이렇게 하면 작업 공간에서 프로젝트가 바인딩 해제됩니다.모든 프로젝트를 다시 가져와야 합니다.

같은 문제가 발생하여 다음 방법으로 해결했습니다.

Eclipse Mars
Egit
Github
Maven Project

문제는 내가 maven 프로젝트를 github에게 제공했다는 것이다. 프로젝트가 내 github 폴더로 옮겨졌어.

솔루션:

  • 이클립스 닫기
  • 작업영역 내의 메타데이터 폴더 삭제
  • 이클립스 재시작

시작 화면이 표시됩니다.

  • 시작 화면을 닫습니다.
  • 패키지 탐색기를 마우스 오른쪽 버튼으로 클릭합니다.
  • "import maven project" 선택,
  • github 폴더로 이동하여 maven 프로젝트를 가져옵니다.

그 후, 제 프로젝트는 성공적으로 정리되었습니다.

다음 중 하나를 사용하여 프로젝트에 빌더가 있는지 확인합니다.

  • 프로젝트 속성 확인("패키지 탐색기"에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택합니다. 두 번째 섹션은 "빌더"이며 기본 "Java Builder"가 있어야 합니다.
  • 또는 ".project" 파일(.../workspace/your ProjectName/)을 확인합니다.프로젝트) "buildSpec" 섹션은 비워둘 수 없습니다.

다른 방법이 있을 거야 하지만 내가 한 일은

  • 일식을 멈추다
  • "project" 파일을 편집하여 "buildSpec" 섹션을 추가합니다.
  • 재개 일식

적절한 최소 Java ".project" 파일은 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>myProjectName</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
                        <name>org.eclipse.jdt.core.javabuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>
        <natures>       
                    <nature>org.eclipse.jdt.core.javanature</nature>
        </natures>      
</projectDescription>

음, 다음과 같은 것들이 나에게 효과가 있었다.

  1. 폴더로 이동.workspace)
  2. 다음 그를 했습니다.bin 표시
  3. 다음으로 Cleaned project / projects (Eclipse에서)
  4. Eclipse에서 구축/실행.

코드가 양호하고 이클립스 문제가 있는 것을 알고 있으면, 이것으로 해결됩니다.

$your project/.classpath, $your project/.project 및 $yourworkspace/.metadata를 삭제하기만 하면 됩니다.다른 사람이 이 옵션을 언급했습니다.작업 공간 전체를 날려버릴 거예요.대신:

  1. 프로젝트에서 .classpath 및 .project를 삭제합니다.
  2. 프로젝트를 일식으로 삭제합니다.디스크의 프로젝트 내용 삭제를 체크하지 마십시오.
  3. 이제 파일 탐색기에서 $yourworkspace/.metadata로 이동합니다.
  4. $your projectname 검색
  5. 찾은 모든 것을 삭제하십시오..metadata 디렉토리에 있는 모든 것을 삭제하는 것은 안전합니다.
  6. 일식:[ File ] > [ Import ]> [ General ]> [ Projects from Folder or Archive ]> [ $ your project ]>
  7. [ Project ]> [ Properties ]> [ Java Build Path ]> [ Source ]탭을 오른쪽 클릭합니다.
  8. 모든 원본 폴더를 선택하고 제거합니다.
  9. 폴더를 추가하고 src(src 폴더 호출 대상)를 선택한 후 추가합니다.
  10. 라이브러리 탭으로 이동
  11. 빌드 경로에 모든 항아리를 추가합니다.이제 프로젝트에 더 이상 오류가 없어야 합니다.
  12. 평소처럼 프로젝트를 진행하십시오.

비슷한 일이 몇 번인가 있었는데, 이 문제를 해결할 수 있는 유일한 방법은 메타데이터 폴더를 삭제하는 것이었습니다.다행히 나는 다른 방법을 찾았다.

project properties > [ Java Build Path ]> [ Order And Export ]> [ all ]를 선택합니다(또는 체크박스를 사용하여 재생해 보겠습니다).

이렇게 하면 프로젝트 재구축이 완료되고 Eclipse에서 메인 클래스가 표시됩니다.

추가:이 버그는 작업 공간에 많은 프로젝트가 있고 일부 프로젝트가 잘못 설정되어 있는 경우(빨간 느낌표 표시)에 발생합니다.프로젝트 빌드 경로 및 기타 설정을 수정하면(이 프로젝트가 문제가 있는 프로젝트와 관련이 없는 경우에도) 문제가 해결됩니다.

이 에러가 발생하기 시작한 것은 클래스 패스가 윈도 제한을 초과했기 때문입니다.그런 다음 "Use temporary JAR to specify classpath (클래스 경로 길이 제한을 피하기 위해)" 옵션을 발견했습니다.이 옵션을 선택하면 문제가 해결되었습니다.옵션은 실행/디버깅 구성의 Classpath 탭에 있습니다. 아래 이미지를 참조하십시오.

여기에 이미지 설명 입력

★★★Main class찾을 수 없거나 로드된 문제가 흥미로운 이유로 인해 발생합니다.

,희프프 in in in를 사용하고 .Maven빌드 툴과 나의main class extendsclass path 그 는 '아예'였다.test 「」, 「」,main class테스트 패키지에 포함되어 있지 않습니다.

클래스인 경우extends.main class【】을 extends이 진행된다면, 가 '아까부터'가 '아까부터'가 하게 될 입니다.run configuration ★★★★★★★★★★★★★★★★★」eclipse 반, 반, 반, 반, 반, 반, 반, 반, 반, 반, 반, 반, 반, 반, 반, 반, 반.main class extends.

jre로 Import한 경우 jdk 라이브러리의 원인이 될 수 있습니다.

이 일은 나에게 일어났으니 설치된 jre jars를 체크해 주세요.

이클립스에서는 [Windows]> [ Preferences ]> [ Java ]> [ Installed Jres ]> [ Jre ]를 클릭하여 jdk 또는 파손이 없는 것을 확인합니다.

올바른 .classpath 파일에서도 같은 문제가 발생했지만 곧 .classpath 파일이 카운트되지 않았습니다(이 문제를 수정한 후 작업 가능한 .classpath 파일을 원래 파일로 교체했습니다.프로젝트는 아직 동작하고 있습니다.classpath 파일은 정상적으로 동작하지 않았습니다).

메이븐 프로젝트이기 때문에 제가 한 일은

  1. mvn 일식: 클린
  2. 일식 프로젝트 삭제
  3. 프로젝트를 Import하다
  4. 다 했어요.

이 문제는 작업 영역 경로에 특수 문자가 있는 경우에도 발생합니다.개인 폴더에 작업 공간이 있는데 이름이 그리스어로 되어 있어서 작동이 안 됐어요.워크스페이스를 변경하여 경로에 영문자만 포함시켜 문제없이 프로젝트가 구축되었습니다.

이클립스를 사용하는 경우 다음 단계를 통해 문제를 해결할 수 있습니다.

실행 -> 설정 실행 -> 메인 클래스 검색 -> 수동으로 클래스 검색 -> 적용 -> 실행

을 사용하다 나는 …이 있었기 때문이다.static void main(String[] args)
public static void main(String[] args)

그걸 알아내는데 거의 한 시간이나 걸렸어요

주의: 유일한 차이점은 제가 신고하지 않았다는 것입니다.mainpublic

이 에러를 해결하려면 , 다음의 순서에 따릅니다.

1단계: .project 파일을 엽니다.

순서 2: 2개의 태그를 확인합니다.

    a) <buildSpec>

    b) <natures>

순서 3: 상기의 태그에 컨텐츠가 포함되어 있지 않은 경우는, 반드시 상기의 에러가 발생합니다.

스텝 4: 위의 오류를 해결하기 위해 각 태그에 다음 내용을 추가합니다.

★★★의 <buildSpec>:

<buildSpec>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>

★★★의 <natures>:

<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
</natures>

스텝 5: ctrl + s 키를 눌러 파일을 저장합니다.

스텝 6: 안전을 위해 프로젝트를 일단 닫았다가 다시 엽니다.

스텝 7: 이것으로 끝입니다.락할 준비가 되었습니다!!!

해결 방법이 도움이 되었는지 댓글로 알려주세요.

감사합니다.

같은 문제가 발생하지만, 제 경우는 소스 폴더가 없어(빈) 원인이었습니다(원래 프로젝트에는 존재하지만 비어 있기 때문에 GIT 저장소에는 없습니다).

누락된 폴더를 만들면 모든 것이 작동합니다.

오늘 hello world 프로그램을 설정하고 새 프로그램을 잘라내어 같은 파일에 붙여 넣었기 때문에 이 오류가 발생했습니다.마지막으로 hello world를 찾을 수 없는 문제를 수정하기 위해 [Run]-> [ Run Configurations ]를 클릭한 후 [Main Class]에서 검색을 클릭하면 새 클래스 이름이 검색되어 붙여넣은 텍스트에서 올바른 새 이름으로 대체됩니다.이것은 처음 겪는 문제이지만 해결하기도 쉽습니다.이게 누군가에게 도움이 됐으면 좋겠어!더글러스

이클립스가 청소하기 때문에 대부분 이런 일이 일어나죠.class일일 시bin이치노그리고 빌드 실패의 원인이 되는 다른 것은 없는지 확인해야 합니다.클래스 경로에 이클립스가 찾을 수 없는 몇 개의 항아리를 추가했을 수 있습니다.

패키지 탐색기로 이동하여 F5 키를 누르거나 일부 노트북의 경우 fn+F5 키를 누르십시오.그 이유는 이클립스가 파일이 어딘가에 있다고 생각하지만 실제로는 파일이 다른 곳에 있기 때문입니다.새로 고침으로써 둘 다 같은 페이지에 놓이게 됩니다.안심하세요.아무것도 잃어버리지 않습니다만, 특별히 주의하고 싶은 경우는, java projects 폴더에 있는 파일을 안전한 장소에 백업 해 주세요.

이것이 이 문제를 해결하는 데 도움이 된 간단한 단계입니다.

  1. 일식을 닫다
  2. 작업 공간에서 ".metadata" 폴더를 삭제합니다.(숨김 폴더일 수 있음)
  3. 일식을 엽니다(작업 공간에 ".metadata" 폴더가 자동으로 생성됩니다).
  4. 프로그램을 실행해 보세요.

워크스페이스 에러 로그(Windows-> 표시 뷰-> 에러 로그)를 확인합니다.가져온 jar가 손상된 경우 해당 리포지토리 폴더를 제거한 후 다시 가져오십시오.

2종류의 솔루션이 같은 환경에서 종료됩니다.

(1) 실행 Configuration으로 이동합니다.- run - > 실행 Configurations Classpath 탭에서 다음을 수행합니다.

Eclipse가 보통 프로젝트에 *.클래스를 넣는 곳에 고급 추가를 선택합니다. 이 클래스는 bin에 있습니다.그래서 프로젝트를 위한 bin 디렉토리를 추가했습니다.

(2) 첫 번째 솔루션이 작동하지 않는 경우, 프로젝트에 지적하는 항아리가 프로젝트에 업데이트되지 않은 로컬 Maven repo의 경로를 따르고 있음을 의미합니다.따라서 로컬 Maven repo에서 항아리를 확인하고 복사하여 새 프로젝트에 복사하거나 임의의 사이트에서 다운로드하여 buil에 구성합니다.d패스

도움이 됐으면 좋겠어요.

이 문제는 Eclipse 프로젝트에서 ".jar" 파일을 마우스 오른쪽 버튼으로 클릭하고 "delete"(빌드 경로)를 눌러 삭제했을 때 발생했습니다.

이 문제를 해결하기 위해 다음 단계를 시도했습니다.

1- 프로젝트 오른쪽 클릭

2- 빌드 경로 --> 빌드 경로 구성

3- 라이브러리

4- 여기서 jar 파일을 삭제합니다(옆에 빨간색 마크가 표시됩니다).

리소스를 이동한 직후에 이 에러가 발생하였습니다.에러 로그를 확인해 보니, Eclipse가 파일/폴더를 삭제할 수 없었기 때문에 빌드할 수 없었습니다."bin" 폴더(또는 호출된 폴더)를 수동으로 삭제해 보십시오.

처음에 Windows 8이 JAVA_를 설정해도 경로 갱신을 거부하는 문제가 발생한 후에 이 문제가 발생했습니다.HOME to - Java - version이 JAVA_HOME에 저장한 JDK가 아닌 마지막 JDK를 보고했습니다. 드디어 '%J'을(를) 삽입하여 JDK를 작동시켰습니다.AVA_HOME%/bin;'은 경로 환경변수의 끝 대신 앞쪽에 있습니다.그 후 이클립스를 시작했는데, 이클립스가 제대로 작동하기 전에 갑자기 메인 클래스를 찾을 수 없었습니다.이를 수정하기 위해 프로젝트 속성으로 이동하여 Libraries 탭에서 기존 JRE 라이브러리를 삭제하고 Add Library 버튼을 선택하여 새 JRE를 추가한 후 프롬프트에 따라 JRE 7을 기본 JRE로 설치합니다.이제 모든 것이 다시 업무로 돌아간다.

는 이. 바로 이 문제에서다.Eclipse->Preferences->Java->Installed JRE검색 버튼을 누릅니다. /usrJVM을 이용하다

너무 최신인 다른 JVM을 선택하십시오.제 경우는 해결되었습니다.

언급URL : https://stackoverflow.com/questions/11235827/eclipse-error-could-not-find-or-load-main-class

반응형