[java] Eclipse“오류 : 주 클래스를 찾거나로드 할 수 없습니다.”

Git https://github.com/chrisbramm/LastFM-History-Graph.git에 푸시 한 내 랩톱에서 Eclipse에 프로젝트가 있습니다.

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

오류 : lastfmhistoryguis.InputPanel 기본 클래스를 찾거나로드 할 수 없습니다.

다음에서 프로젝트를 구축해 보았습니다.

Project>Build Project

그러나 아무 일도 일어나지 않았습니다. PATH이 컴퓨터 의 변수는 노트북에 설정되어 있지 않지만 JRE6, JRE7 및 JDK 1.7.0으로 설정했습니다.

내 랩톱의 C : \ Users \ Chris \ Downloads 폴더에 있는 내 파일에 있는 Jar 파일 ( last.fm-bindings-0.1.1.jar )이 있었기 때문에 git 트리에 포함되지 않았습니다. 최근에 프로젝트 폴더로 가져 와서 커밋했지만 올바르게 수행했는지 확실하지 않습니다. 이것은 또한 문제를 일으키고 있지만 거기에 주요 논쟁이 없습니다..classpath

지금 확인 / 변경해야 할 사항을 해결할 수 없습니다.



답변

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

따라서 클래스 경로에서 (그리고 일반적으로 프로젝트에 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"/>


답변

를 사용하여 Java 클래스를 만들면 public static void main(String[] args)Eclipse는 파일 자체 또는 프로젝트 탐색기의 파일을 마우스 오른쪽 단추로 클릭 한 다음 다음을 선택하여 해당 기본 메서드를 실행합니다.

“다음으로 실행”-> “Java 응용 프로그램”

이렇게하면 Eclipse는 클래스에 대한 정보를 저장하므로 Run As 메뉴 (도구 모음의 녹색 재생 버튼) 또는 Run Configurations 대화 상자에서 클래스를 쉽게 다시 실행할 수 있습니다.

나중에 Java 클래스를 이동하는 경우 (수동으로 또는 그러나) 다시 선택합니다.

“다음으로 실행”-> “Java 응용 프로그램”,

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


해결책 :
저에게 수정은 실행 구성 (녹색 재생 버튼-> 실행 구성)으로 이동하여 클래스에 대한 모든 참조를 제거하는 것이 었습니다. 다음에 달리면

“다음으로 실행”-> “Java 응용 프로그램”

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


답변

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

  • 프로젝트-> 청소
  • 프로젝트-> 자동 빌드가 활성화되어 있는지 확인하십시오.
  • 프로젝트-> 속성-> 자바 빌드 경로-> 라이브러리 : 추가 한 모든 외부 라이브러리를 제거합니다 . JRE 시스템 라이브러리와 같은 표준 라이브러리를 제거하지 마십시오.
  • 지금 메인 클래스를 실행하십시오. “클래스를 찾을 수 없습니다 /로드 할 수 없습니다”오류가 사라집니다. 외부 libs / jars를 하나씩 추가해보십시오.

이유 : 컴파일러가 라이브러리를 프로젝트에 연결하는 데 문제가있었습니다. 실패하고 잘못된 오류 메시지가 생성되었습니다.

제 경우에는 “Could not add AutoHotkey.dll을 빌드 경로에 추가 할 수 없습니다”와 같았어야했습니다. 그 때문에 컴파일러가 실패했습니다.


그래도 작동하지 않으면 Eclipse내장 ErrorLog를 살펴보십시오 .

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


답변

위에서 언급 한 모든 작업을 수행했지만 어느 것도 나를 위해 일하지 않았습니다.

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

  1. Project> Properties> JavaBuildPath> Libraries를 마우스 오른쪽 버튼으로 클릭합니다 .
  2. 빨간색 플래그가있는 jar 파일을 제거하십시오.
  3. 문제가 지속되면 아래 해결 방법을 시도해보십시오. 두 번째 로이 문제에 직면했을 때 이것은 나를 위해 일했습니다.
    1. 프로젝트> 특성> Java 빌드 경로> 라이브러리를 마우스 오른쪽 단추로 클릭하십시오.
    2. 라이브러리 제거
    3. 라이브러리 추가. (JRE 시스템 라이브러리 선택)

답변

나는 거의 한 시간을 보낸 후 내 maven webapp 프로젝트에서 비슷한 문제에 직면했고, 나를 위해 일한 해결책을 찾았습니다. 다음 maven 명령을 입력하고 작동했습니다.

mvn clean install -U
나는 그 뒤에 정확한 이유를 모릅니다.


답변

프로젝트를 데스크탑 이클립스 설치로 가져 왔다고 가정하고 있습니까? 이 경우 프로젝트> 정리를 선택해야합니다. 그런 다음 프로젝트를 다시 빌드하십시오. 나를 위해 매력처럼 일했습니다.


답변

나는 같은 문제가 있었고 다음을 사용하여 해결했습니다.

Eclipse Mars
Egit
Github
Maven Project

문제 는 내 maven 프로젝트를 github에서 사용할 수 있다는 것입니다. 그것은 이동 내 GitHub의 폴더에 내 프로젝트를.

해결책:

  • Eclipse 닫기
  • 작업 영역 내에서 메타 데이터 폴더 삭제
  • Eclipse 다시 시작

시작 화면이 표시됩니다.

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

이 후 내 프로젝트가 성공적으로 컴파일되었습니다.