들어가기 전에
지난 강의에서 오류가 나타나신 분이 계신가요? 그렇다면 이번 강의를 들어보세요.
학습 목표
이클립스에서 자바 프로젝트를 생성했을 때 프로젝트 레이아웃의 옵션에 따라 어떻게 달라지는지 확인해 봅니다.
핵심 단어
- Build Path
- 컴파일
강의 듣기
들어가기 전에
지난 강의에서 오류가 나타나신 분이 계신가요? 그렇다면 이번 강의를 들어보세요.
학습 목표
이클립스에서 자바 프로젝트를 생성했을 때 프로젝트 레이아웃의 옵션에 따라 어떻게 달라지는지 확인해 봅니다.
핵심 단어
강의 듣기
오류의 원인
Editor dose not contain a main type이라는 오류가 나타났다면 이클립스가 소스코드가 컴파일된 class 파일을 찾지 못하였기 때문입니다. 그렇다면 왜 찾지 못한 것일까요?
다시 프로젝트를 생성해 봅시다.
이번에는 MainType이라는 프로젝트를 생성하고 Project layout에서 두 번째 옵션을 선택해 봅니다.
옆에 Configure default를 클릭해 봅니다.
그러면 위와 같이 Source folder name과 Output folder name에 각각 src, bin폴더로 입력되어 있는 것을 볼 수 있습니다.
src는 source, bin은 binary를 뜻합니다. 이러한 상태에서 이클립스는 소스 코드는 src 폴더에 저장하고 실행 파일은 bin 폴더에 저장하게 됩니다.
다음 단계로 넘어가면 다음과 같이 MainType 프로젝트의 src폴더가 기본 소스코드 폴더가 되고, bin폴더가 기본 실행파일 폴더가 됩니다.
Package Explorer 뷰를 통해 보면 src 폴더가 기본 소스 폴더가 된 것을 볼 수 있습니다.
이 프로젝트에서 MainType 프로젝트의 루트 경로(가장 상위 폴더)에 자바 파일을 생성해 봅니다.
MyApp.java 파일을 생성하고 아래와 같은 코드를 입력합니다.
public class MyApp {
public static void main(String args[]) {
System.out.println("Hello World!!");
}
}
저장한 후 실행을 시켜 보면 같은 오류가 발생되는 것을 볼 수 있습니다.
왜냐하면, 작성한 MyApp.java 파일이 기본 소스코드 폴더인 src 안에 있지 않기 때문에 이클립스는 MyApp 파일을 소스코드로 인식하지 않기 때문입니다. 이클립스에서 자바 애플리케이션을 실행할 때 src 폴더의 소스 파일은 없기 때문에 오류가 발생하게 됩니다.
오류를 해결하는 방법
오류를 해결하는 방법은 세 가지가 있습니다.
우선 첫 번째는 작성한 MyApp.java 파일을 src 폴더로 옮기는 것입니다.
두 번째는 Project layout 부분의 첫 번째 옵션을 선택하여 다시 새로운 프로젝트를 생성하는 것입니다.
마지막으로는 프로젝트의 속성을 변경하는 것입니다.
프로젝트 항목에서 팝업 메뉴를 띄운 후 Properties 버튼을 클릭합니다.
Java Build Path 메뉴에서 기존의 소스 폴더인 src 폴더를 Remove 버튼을 클릭하여 삭제합니다.
그리고 Add Folder 버튼을 클릭하여 소스 폴더를 프로젝트의 루트 폴더로 새로 지정합니다.
마찬가지로 하단의 Default output folder에도 똑같이 루트 폴더를 입력합니다.
다시 MyApp.java를 실행시켜 보면 잘 실행되는 것을 확인할 수 있습니다.
응용 과정
프로젝트의 속성을 변경하면 소스 폴더를 복수 개를 만들고, 컴파일된 실행 파일을 같은 폴더에 저장할 수 있지 않을까요?
위와 같이 src1, src2 폴더를 만들고 그 안에 각각 아래와 같이 MyApp1.java, MyApp2.java파일을 생성합니다.
MyApp1.java
public class MyApp1 {
public static void main(String args[]) {
System.out.println("Hello World!!");
}
}
MyApp2.java
public class MyApp2 {
public static void main(String args[]) {
System.out.println("Hello World!!");
}
}
그리고 프로젝트의 설정에서 Java Build Path를 아래와 같이 설정합니다.
그리고 저장하게 되면 아래와 같이 bin 폴더 안에 MyApp1과 MyApp2의 컴파일된 파일들이 저장되는 것을 볼 수 있습니다.
comment
ㅋㅋㅋㅋ아니 앞 강의에서 이거땜에 막혀서 안넘어가고 끙끙댔는데 바로 다음강의에 바로 나오네;ㅋㅋㅋㅋㅋ
Package Explorer 에서 생성된 Folder 는 가상 폴더가 아닌, 실제 물리적인 폴더로서 생성되는 부분 쉽게 이해하였습니다.
그리고 Java 파일을 해당 각각의 폴더로 이동 시에 패키지 이름도 항상 동일 폴더 명으로 존재해야 Run 이 올바르게 되네요. :)
저는 애초에 create a java project에서 jre와 layout에서 선택 클릭이 안되던데요?
이부분의 정확한 개념을 이해를 못하겠어요
여기서부터 넘어가질 못하고있네요 이해도 안되고ㅜㅜ
자바는 파이썬과 다르게 소스폴더, 컴파일폴더를 일일히 지정해줘야 작동하나 보군요
에러가 안보여서, 다음영상으로 넘어가고 싶은데 영상을 다 봐야 수강완료가 되서 강제시청하네요 ㅋㅋㅋ
컴파일된 파일만 있으면 실행되는 것 아닌가요?