Java 의존관리도구인 Maven을 하나하나 살펴보자.
최초에 Maven프로젝트를 생성시에 pom.xml이 생성된다.
이때 groupId와 artifactId 태그의 경우에는 컴파일을 한 파일들이 관리되는 디렉토리명으로 지정된다.
packaging태그에서는 빌드 후 배포시에 어떤 형식으로 지정되는지에 대해서 나타나는데
일반적으로 war(WebApplication Archive) 형식으로 취한다.
의존관리 도구 이외에도 maven은 다른 역할을 하는데,
pom.xml은 Effective POM을 상속받기 때문에 Effective POM을 통해서 다양한 명령어를 사용할 수 있게 된다.
코드를 보면 repository 태그에 저장소 URL이나,
sourceDirectroy 의 현재 프로젝트의 위치등을 확인할 수 있다.
maven 명령어 중에 유용한 명령어 중에는 compile 등이 있는데,
리눅스 서버와 같이 IDE 툴을 사용하여 컴파일 및 실행이 힘든 경우에 maven 명령어를 이용하여서 컴파일 할 수 있다.
C:\Users\users\sample>mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building sample 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ sample ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\madvirus\sample\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ sample ---
[INFO] Compiling 1 source file to C:\Users\madvirus\sample\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.205 s
[INFO] Finished at: 2019-07-01T09:51:15+09:00
[INFO] Final Memory: 11M/110M
[INFO] ------------------------------------------------------------------------
< console 결과 >
class 파일은 target/classes 폴더에 생성된다.
이는 이클립스를 이용해서 역시 가능하다.
동일한 결과를 얻을 수 있다.
이외에 pakeage 라는 Goals 을 이용하면 프로젝트를 import하는 것도 가능 하다.
이렇게 빌드를 하기 위해선 다음의 라이프 사이클을 의존한다.
이외에 Effective POM의 플러그인이나 기타 설정들을 오버라이딩 하는 것 역시 가능하다.
빌드의 디렉토리와 compiler의 버전을 바꾸어보았다.
이렇게 설정을 변경했을 때는
기존의 eclipse 설정을 clean 시키고 새로 업데이트 해주어야 한다.
'BackEnd > Spring' 카테고리의 다른 글
Tomcat (0) | 2019.07.02 |
---|---|
DI(Dependency Injection) (0) | 2019.06.06 |
[실습] DB데이터로 Navigation 만들기 (Mybatias,Gson) (0) | 2019.06.04 |
Tiles설치 및 사용하여 html 템플릿 관리하기 (0) | 2019.06.03 |
JSP-Servelet 게시판 제작하기 (1) (0) | 2019.05.31 |