앞서 오픈소스를 통해서 소스 저장소에 등록되는 디렉토리 구조를 살펴보았습니다. 그리고 프로젝트 소스를 일괄처리하는 build.xml 도 살짝 들여다 보았습니다. 이클립스 툴을 쓰면 다 되는 작업을 왜 Ant 빌드스크립트를 만들어야하는지 질문을 종종 들어봤습니다. 지속적인 통합 빌드 같이 주기적으로 반복되는 작업이나 단계가 복잡한 작업들은 빌드스크립트가 효과적입니다. 클릭클릭하는 일도 지겨울 때가 있거든요. 이클립스 작업의 자동화가 빌드 스크립트라고 생각하시면 될 것입니다.

지난 번 소스 가져오기(import) 이후로 소스의 빌드 경로를 잡아보려고 합니다. 로컬pc에서 컴파일되나 안되나 확인하는 것이죠. 소스가 패키지에 맞게 제자리에 있어야 할 것이고, 참조하는 jar파일의 경로도 함께 지정해줘야 합니다.

일단 이클립스 자바 프로젝트에서 소스 폴더를 추가합니다. 자바소스가 있는 폴더를 소스폴더라고 합니다. *.java 파일과 *.properties 파일들이 위치합니다. httpunit-1.7 아래 src 폴더가 바로 소스폴더입니다. 그리고 httpunit-1.7 아래 test 라는 곳도 소스 폴더로 추가합니다. src 아래 있는 클래스들을 테스트하는 테스트케이스들의 소스 폴더입니다.

자동 빌드가 일어나면서 에러가 무진장 일어납니다. jar 파일 연결이 안되서 그렇습니다.

왼쪽 패키지 익스플로러에서 프로젝트를 선택하고 Properties 창을 엽니다. 컨텍스트 메뉴에서 제일 아래 Properties 메뉴를 선택하면 됩니다. 단축키는 alt+Enter
Java Build Path 항목을 선택하고 Libraries 탭을 클릭합니다.

우측의 Add JARs... 버튼을 클릭해서 httpunit-1.7/jars 폴더의 *.jar 파일들을 선택합니다.

오호, 에러가 줄기는 했는데, 하나 남았네요. fnfe를 클릭해서 해당 소스를 열어보겠습니다. 흠, 겁을 상실했군요. 에~ 뭐 꼭 고친다는 뜻은 아닙니다. ^^;

소스를 살짝 보니 캐릭터셋 문제로 Roger Lindsj 이름 옆에 이상한 문자가 생긴 것 같네요. 그것 때문에 아랫줄 if라인이 주석 줄로 따라 올라온 듯 합니다.

if 앞에서 엔터로 줄바꿔주니 고쳐졌습니다. ^^; 잠시 우쭐~

Problems 탭에 에러는 싹 사라졌군요. Warnings는 살짝 봐주기로 하죠. ^^;

소스 폴더가 추가된 모습입니다.

작업공간은 에러 없는 코드로 관리되는 것이 개발자 심리에 좋다고 생각을 합니다. ^^;
WAR (Web application ARchive)
TAR와 비슷하죠. 묶는 겁니다. 무엇을? 위에 있잖아요. Web application을.

dwr 이라는 것을 샘플로 해보겠습니다.
http://getahead.org/dwr/download 에서 구할 수 있습니다.
dwr.jar 는 class로 구성된 java archive 파일이고, 그래서 jar입니다.
dwr.war 는 웹애플리케이션 묶여있는 것입니다.

jar 파일과 zip 파일의 압축 알고리즘은 같다고 알고 있습니다.
war 파일 안에는 WEB-INF/web.xml 파일을 포함해서 하나의 온전한 웹애플리케이션이 디렉토리를 갖추어서 들어가 있습니다.

이클립스에서 이 파일을 통해서 다이나믹 웹 프로젝트를 만들 수 있게 되어있습니다.
패키지 익스플로러에서도 가능하지만 WTP에 포함된 프로젝트 익스플로러(Project Explorer)에서 시작하겠습니다.

빈 여백에서 오른버튼을 클릭하면 컨텍스트 메뉴에 Import 가 있고 WAR file을 선택합니다.

사용자 삽입 이미지

dwr.war 파일이 있는 곳을 찾아서 지정하면 Web project 도 자동으로 채워집니다. Target runtime이 없다면 우측의 New... 버튼을 클릭해서 지정하시면 됩니다.
사용자 삽입 이미지

Next 버튼 말고 Finish 버튼을 클릭하면 dwr 프로젝트가 생성됩니다.
일단 여기까지 가져온 프로젝트의 디렉토리 구조를 확인해 보시면 됩니다.

에러 메시지가 보일 수 있는데 정리는 다음 글에서 다루도록 하겠습니다.

이클립스 프로젝트를 통째로 압축하면 그것을 바로 가져올(import) 수 있습니다.
http://code.google.com/p/daysago/ 에 올려 놓은 파일은 이클립스 프로젝트를 압축해 놓은 것입니다.

zipped project

zipped project

daysago-0.22.zip 파일을 다운로드 받습니다.

project import

project import

이클립스의 패키지 익스플로러에서 import를 선택합니다.
filter text에 "ex"를 입력하면 Existing Projects into Workspace 라는 항목이 보입니다.
Select archive file

Select archive file

두 번째 옵션인 Select archive file 를 선택하고 Browse... 버튼을 클릭해서 다운로드 받은 daysago-0_22.zip 파일을 선택합니다. daysago라는 프로젝트가 보입니다.

imported project

imported project


가져오기 작업 끝이죠. ^^


+ Recent posts