Eclipse Indigo Maven Plugin 설치 & 웹프로젝트 생성


처음에 Maven을 사용하기 시작했던 이유는 jar 파일을 받기 쉬워서 였다 -_-;

지금도 디펜던시만 추가해주면 인터넷에서 자동으로 jar파일을 받아주는 기능을 제일 좋아하고 제일 많이 써먹는다.

처음에는 저런거 왜 쓰나 하는 생각도 했었지만 입다물고 쓰다보니 쪼매씩 쓸만한 다른 것들도 알아가고 이것저것 편한것 같다. 한번 입다물고 써볼만한 가치는 충분히 있다고 본다.


아무튼!!

이클립 인디고 버전 부터는 Maven Plugin 이 기본 업데이트 목록에 포함되 있다. m2eclipe 인것 같은데 pom.xml 에디터나 뭐 그런것들이 이것저것 조금씩은 다른것 같다.

아무튼 플러그인을 설치할려면 Help > Install New Software 로 가서 Work with 란에 기본적으로 포함되 있는

Indigo - http://download.eclipse.org/releases/indigo 를 목록에서 선택하고 잠시 기다리면 플러그인 목록들이 쭉 나오는데

목록에 보면  General Purpose Tools 아래에 m2e 어쩌고 하는 것들이 있다. 목록에서 m2e 어쩌고 하는것 2개를 선택하고 Finish 버튼을 클릭해서 설치 하면 된다.

다 설치후 이클립을 껏다 키면 설치완료. 

Indio Update




다 설치했으니  샘플로 Maven용 웹어플리케이션 프로젝트를 하나 만들어보고 jetty 로 서버를 띄워보자.

File > New > Project 로 프로젝트 생성하는 창을 열어보면 기존에 없던 Maven 시리즈가 새로 추가되 있다. Maven Project 를 선택하고 Next

Maven Project 선택

 

Create Simple Project 에 체크하고 Next~

심플 프로젝트 체크




Group Id, Arifact Id 에 적당하게 쫌 있어보이게 입력하고 Packaging 은 웹어플 프로젝트이기 때문에 목록중에서 war를 선택한다. 나머지는 필수가 아니기 때문에 하고싶은데로~~ 하고 Finish 를 클릭해 프로젝트를 생성한다.

여기에서 Arifact Id는 프로젝트 명이 된다. 생성해 보면 안다. 

프로젝트 정보입력



war 프로젝트 디렉토리 구조


프로젝트를 맨들면 처음에 생성되는 디렉토리 구조는 위처럼 된다.(WEB-INF 는 기본적으로 생성되지 않고 따로 만들어야 된다.)

※ 굳이 위와같은 디렉토리 구조로 하지 않아도 된다. 원하면 전처럼 Dynamic Web Project 로 생생되는 디렉토리 구조로 바꿀수도 있고 Tomcat으로 서버를 띄울수도 있다. 고건 다음 기회에~

크게 보면 src 와 target 디렉토리가 생성되는 src는 당연히 java나 property나 이미지 파일들이나 js 파일이나 뭐 기타 등등등 프로젝트와 관련된  오만가지 것들이 위치할 디렉토리이다.

target 은 ant의 build 디렉토리처럼 빌드시키면 컴파일된 class 파일이나 뭐 고런것들이 들어간다.



쪼매더 상세하게 말해보면

/src/main/ java 는 Java 파일이 들어가겠고~

/src/main/resources 는 property 파일이나 Spring을 쓴다면 Spring 설정 xml 파일 같은게 들어간다. log4j.property 도 들어가겠구만. 그런데 또 굳이 꼭 이 디렉토리에 위치 안해도 된다. 하고싶으면 그냥 java 디렉토리에 때려 넣어도 된다.

/src/main/webapp 에는 html, jsp, css, js, 이미지 파일 기타등등의 파일을 넣어주면 됨. 

/src/test 는 뭐 당장은 크게 쓸일이 없는 디렉토리인데 하여튼 테스트와 관련된 것들이 들어간다. 여유 없는 사람들은 거의 쓸일이 없는 디렉토리이다. 

webpapp 에다 대충 확인할수 있는 html 이나 jsp 파일을 하나 맨들어 놓은 후 이제 jetty 로 서버를 띄어보자.




서버를 띄우기 전에 pom.xml에 jetty plugin을 사용한다고 설정해 줘야 한다.

이클립스 Helios 버전에서 사용하던 m2eclipse 플러그인의 pom.xml 에 에디터에는 Plugin 탭이 있었지만 이상하게도 Indio에서 설치한 m2eclipse 에는 plugin 탭이 없었다.

뭐 아무튼 직접 pom.xml 을 편집해도 되고 프로젝트명에서 오른쪽 버튼클릭해서 Maven > Add Plugin 으로 추가해도 된다.

Add Plugin을 클릭하면 뜨는 팝업창에서 검색어로 jetty 를 입력하면 목록이 쭉 뜨는데 거기서 org.mortbay.jetty   jetty-maven-plugin 을 선택하고 Ok를 클릭하면 pom.xml에 plugin 에 관련된 항목이 추가된다.

Maven Jetty Plugin 설정


<build>
	<plugins>
		<plugin>
			<groupId>org.mortbay.jetty</groupId>
			<artifactId>jetty-maven-plugin</artifactId>
			<version>8.0.0.M3</version>
		</plugin>
	</plugins>
</build>

이제 Jetty Plugin 에 관련된 설정도 끝났으니 Jetty 로 서버를 띄워보자. 프로젝트명에서 오른쪽 버튼 클릭 Run As > Maven Build 클릭하면 팝업창이 뜨는데 Goals 에 jetty:run 이라고 입력하고 Run 을 클릭하면 인터넷으로 Jetty Plugin을 다운로드 받은 뒤에 서버가 실행될 것이다.
(처음 실행하면 플러그인을 다운받느라고 시간이 쪼매 걸린다.)

 서버가 다 실행되면 http://localhost:8080/test.html 로 접속해 보면 뽓 뜬다. 

Tomcat 을 설치안해도 되고 간단히 pom.xml 에 설정만 해주면 지가 알아서 인터넷으로 다운받아 주니 이 얼마나 깔쌈한가!


※ Jetty 디폴트 포트인 8080 을 바꿀려면 Goals 에 jetty:run -Djetty.prot=원하는포트번호 를 입력하고 실행하면 다른 포트로 서버가 실행된다. 

내가 제일 좋아하는 기능인 jar 파일 가져오는것도 해보자. 테스트로 java mail 라이브러리를 가져와 보자!

pom.xml을 더블클릭하면 전용 에디터가 열리는데 아래쪽에 있는 탭중에서 Dependencies 를 클릭해서 Add 버튼을 클릭한다.

팝업창의 검색어란에 mail 이라 입력하면 또 목록이 쭉 뜬다. 그중에서 javax.mail   mail 을 선택해서 추가후 저장을 하면 또 인터넷에서 지가 알아서 mail-xxxx.jar 와 activation-xxx.jar 를 다운로드 받아 클래스패스에 추가시켜주서 자유롭게 
Javamail 라이브러리를 쓸수 있게된다.

디펜던시 설정


<dependency>
	<groupId>javax.mail</groupId>
	<artifactId>mail</artifactId>
	<version>1.4.1</version>
</dependency>