본문 바로가기

툴사용법

[MAVEN] 이클립스 사용법/명령어 정리

프로젝트생성
create a simple~ 을 적용하면 기본 아키타입(템플릿:프로젝트틀) 으로 적용된다. 체크하지 않아보자. 
프로젝트를 생성하는 기본 아키타입. 웹개발을 할 때 사용되는 archetype-webapp도 있고, REST 및 웹에 사용되는 jersey-quickstart-webapp도 있다. GroupID와 artifactId 버전 정보를 기입후 finish
일반 자바프로젝트를 메이븐 프로젝트로 변경이 가능하다.

 

그룹아이디, 아티팩트아이디, 버전, 패키지, 어플리케이션 명 등의 항목을 입력하면 pom.xml 파일이 생성된다.

 

메이븐의 기본적인 명령어 build, test 등은 메뉴 안에 준비되어 있다. 그 외의 명령어를 이용하고 싶다면 Run 컨피그레이션을 만들어야 한다.

 

1. Name : 맨 위에 설정의 이름을 입력하는 항목에 적당한 이름을 기입

2. Base directory : 명령어가 실행되는 현재 디렉터리를 지정. 기본적으로 프로젝트 폴더를 지정. ‘workspace’ 버튼을 클릭하면 나타나는 대화상자에서 프로젝트를 선택하면 해당 디렉터리가 자동으로 입력된다.

3. Goals : 골을 기입한다. 여기선 compile .

4. Run 실행

 

매번 명령어로 실행하는 것보다는 작업이 훨씬 편해진다.

1~3. Project : pom 버전을 지정하는 속성. 여기서는 pom 4.0, XML 스키마 지정.

4. modelVersion : 메이븐 모델 버전 지정

5. groupId : 웹의 도메인을 거꾸로 나열. 다른 곳에서 사용되지 않는 유일한 ID 지정.

6. artifactId : 프로젝트에 할당된 ID. 그룹내에서 같은 프로젝트의 이름이 중복되지 않도록 주의. 프로젝트명, jar war로 묶일 때 명칭.

7. version : 프로그램의 현재 버전 jar파일의 파일명에도 사용됨.

8. packaging : 패키지 명칭을 지정. 보통 groupId를 따라간다.

9. name : 애플리케이션의 이름 아티팩트ID와 달리 유일한 값일 필요가 없어 자유롭게 지음.

10. url : 프로젝트 웹 사이트의 URL을 지정한다. 샘플이므로 maven.apache로 둔다.

12~14. 메이븐 빌드시 소스 파일의 문자 인코딩 방식 지정.

 

메이븐 프로젝트 root 디렉토리에서 compile 골을 실행하면 프로젝트 폴더 내에 target 폴더가 생성되고 그 안에 다음과 같은 폴더가 생성된다.(javac로 컴파일 하는 것과 마찬가지로 클래스 파일을 보존한다.)

 

* mvn package

> 일반적으로 자바 프로그램은 클래스 파일을 그대로 배포하지 않는다. 일반적으로 JAR 파일로 패키징하여 배포한다.

 

Pom.xml 정의한대로 jar 파일이 생성된다.

 

Mvn clean : 빌드하여 생성한 target 폴더를 삭제한다.

 

31~32. Source, target : 컴파일을 실행할 자바버전 명시

35~42. mainClass : jar로 패키징시 java 명령어를 통해 실행하는 일은 매우 번거로우므로 메이븐의 exec-java-plugin 을 이용하여 편리하게 실행시켜보겠다.

자세한 내용은 아래 스샷 참조

 

만약 mvn clean으로 프로젝트를 클린업을 실행한 경우에는 mvn package로 빌드(jar는 필요없음)한 후에 실행해야함.

이러면 main 메소드가 실행된다.

* exec:java 골은 플러그인을 사용하여 추가된 것이다. 플러그인 하나가 여러 골을 가질 수 있으므로 플러그인:형태로 기술한다.

* comfilemaven-compiler-plugin, package maven-jar-plugin에서 추가된 것이다. 하지만 이 두 플러그인은 표준으로 포함되어있기 때문에 플러그인이라고 의식하지 못한 것이다.

* 플러그인으로 추가하는 형태의 골은 <plugin>을 기술하지 않는다고 해서 이용하지 못하는 것은 아니다. <plugin>은 플러그인에 포함할 설정 등의 정보를 기술하는 태그이다. 메이븐은 입력한 골을 해석하여 필요하면 자동으로 플러그인을 로드하여 동작한다.

 

일반 프로젝트로 생성한 디렉토리를 이클립스에서 인식이 가능한 메이븐 프로젝트로 생성한다. 이클립스로 프로젝트를 열려면 .project, .classpath와 같은 파일이 필요한데 이러한 파일을 생성했을 뿐이다.

 

이클립스 프로젝트를 메이븐 프로젝트로 변환하기

 

메이븐에서 > 이클립스 프로젝트로 변환했던것을 다시 메이븐으로 변환하는 명령어

 

앞서 mvn package jar 파일을 생성했지만 이는 단순히 패키징만 했을 뿐 jar 파일이 실행되지 않는다. , 실행가능한 파일이 아니다.

 

Pom.xml plugin을 추가하여 실행가능한 jar 파일로 생성이 가능하다.