오류내용
- 한국말로는
- 오류 : 기본클래스를 찾거나 로드 할 수 없습니다.
- 영어로는
- Could not find the main class
상세내용
오류 기본 클래스 을(를) 찾거나 로드할 수 없습니다
이클립스 같은 IDE 로 실행 시 에는 오류가 나지 않지만
터미널로 접속하여 프로젝트 폴더를 접근하여 실행하면 이와 같은 오류가 발생 합니다.
일반 java 프로젝트로 생성하여 테스트를 할 때 jar 파일 묶어서 실행을 하게 될 텐데
jar 파일 묶을 때는 실행파일을 지정하여 이와 같은 문제가 발생하지 않지만
특정 java 파일만 터미널에서 실행하려고 하는 경우 입니다.
CASE
프로젝트 패키지 구조가 아래와 같다고 가정 하고 다음과 같은 코드로 코딩이 되어있다고 가정합시다.
package com.exec;
import java.util.ArrayList;
import java.util.List;
public class Executor {
public static boolean s_gbn = false;
public static void main(String ... args) throws Exception {
// parameter check
acceptArgs(args);
if(!s_gbn){ System.out.println("Wrong Parameters"); return;}
}
public void acceptArgs(String ... args) throws Exception {
...
}
}
보통 터미널에서 이 자바코드를 실행하고 싶다면 아래와 같이 접근하여 명령어를 수행 할 것 입니다.
아래와 같이 수행하면 오류가 발생 합니다.
키 포인트는 클래스 파일에 package com.exec
이 부분 입니다.
패키지에 속해 있는 이상 해당 클래스 파일은 단일 Executor 로써 실행 되지 못 합니다.
여러 실행 방법이 있겠지만 javac 를 이용하여 컴파일 후 사용 한다 던지…
이렇게 실행하면 프로젝트 안에 예기치 않은 파일들이 생성 되기 떄문에 추천하고 싶지 않은 방법 입니다.
이렇게 프로젝트를 생성하여 패키지를 만들고 진행 중에 터미널로 class 파일을 테스트 해보고 싶다면
bin 폴더
를 이용하는 것을 추천 합니다.
-- 하기와 같이 수행하면 오류가 발생 합니다.
C:\ ... com\exec> java Execute.java tese1 test2
오류 : 기본클래스를 찾거나 로드 할 수 없습니다.
실행 방법
프로젝트를 생성하면 기본적으로 소스폴더 (java 파일들) 와 bin폴더 (class 파일들)이 존재하게 됩니다.
workspace에 폴더 구조는 아래와 같습니다.
+---.settings
+---bin
| +---com
+---src
| +---com
이미 컴파일 되어 있는 class 파일을 이용하여 테스트 합니다.
위치는 bin root 여야 합니다.
c:\...\bin> java -cp . com.exec.Executor test test2
test