본문 바로가기

Build/Maven

(11)
11. Using Dependency Search Eclipse 에서 Maven Dependency 가 검색이 되지 않는 경우 C:\Users\dukim\.m2\repository 디렉토리에 기존에 저장된 데이터를 지우고 Windows -> Preperence -> Maven 에서 아래와 같이 설정하고 그리고 Windows -> Show View -> Maven Repository 를 선택하고 컨텍스트 메뉴를 열어 Full Index enabled 를 클릭하고 해당 Update Index 나 Rebuild Index 를 클릭하면 되었다.
10. Using WARs Maven 을 사용하는 WebApp 스켈렉톤 프로젝트는 간단히 아래 명령으로 생성할 수 있다. mvn \ archetype:generate \ -DgroupId=com.dkim.test \ -DartifactId=test-app \ -DarchetypeArtifactId=maven-archetype-webapp \ -DinteractiveMode=false
09. pom aggregation&inheritance Maven 자체가 여러 다른 모듈들을 다운받아 사용하는 것처럼 사용자가 직접 자신의 모듈을 만들어 Depenency 관계를 설정하여 사용할 수 있다. 즉 Maven 의 Module 기능을 사용해서 프로젝트를 여러개로 나누어 사용하는 간단한 샘플을 만들어 보자. https://riptutorial.com/maven/example/7583/pom-aggregation https://riptutorial.com/maven/example/7582/pom-inheritance student-app 프로젝트 만들기 일단 student-app 이라는 Java App 을 만들고 Maven Project 로 Convert 해보자. 중요한 것은 Packaging 을 pom 으로 만들어야 하는 것이다. 이렇게 변경된 Mav..
08. Maven Repository Maven 의 Repository 는 LOCAL, CENTRAL, REMOTE 로 구성된다. Local Repository 말 그대로 사용자 PC 에 구축하는 Repository 이며 사용자가 처음으로 Maven Command 를 실행시 자동 생성된다. 기본 위치는 사용자 문서 폴더의 .m2 폴더를 찾아보면 된다. (ex > C:\Users\dukim\.m2\repository ) 그리고 pom 파일에 기술된 dependencies, artifacts, JARs, plugin 들이 여기에 저장된다. 아래는 maven 설치 폴더의 conf/settings.xml 의 내용이며 Local Repository 정보가 나와 있으며 여기서 경로를 수정할 수 있다. .... .... Central Repository..
07. Maven plugin 앞서 Maven 에서 많이 사용되는 phase 를 살펴보았다. 이런 메이븐 페이즈 또한 메이븐 플러그인을 통해 실질적인 작업이 실행된다. ( 즉 모든 기능은 플러긴 기반이다. ) 많이 사용되는 plugins 앞서 phase 에서 사용되었던 동작들이 정의된 plugin 이 많이 사용된다. 메이븐 플러그인 정의 메이븐 플러그인 실행 - 메이븐은 하나에 플러그인에서 실행할 수 있는 여러 작업들이 있다. - 이 각각의 작업을 골 ( goal ) 이라고 정의한다. - 하나의 플러그인에 여러개의 골이 있다. - 플러그인을 mvn groupId:artifactId:version:goal 로 해당 goal 을 실행시킬수 있다. mvn org.apache.maven.plugins : maven-compiler-plugi..
06. Maven phase Maven 에서는 기본 제공되는 phase 혹은 plugin 에서 제공되는 goal 을 실행할 수 있다. 그리고 제공되는 각 phase 은 clean, default, site phase 가 있고 각기 다른 라이프사이클을 가진다. 실상 phase 는 실행의 주체는 아니며 이 역시도 plugin 의 goal 을 호출하게 되어있다. clean phase clean : 이 페이즈를 실행하면 clean goal 이 실행되어 메이븐 빌드를 통해 생성된 모든 산출물을 삭제한다. 아래 실행 결과를 보면 maven-clean-plugin 을 호출하여 해당 Job 을 수행하는 것을 알 수 있다. C:\Users\dukim\eclipse-workspace\my-app>mvn clean [INFO] Scanning for ..
05. Maven POM.xml POM 파일은 project object model 의 약자이며 해당 파일은 항상 프로젝트의 root 디렉토리에 위치해야 한다. 그리고 이 파일은 프로젝트를 빌드하기 위한 여러 다양한 디테일한 정보를 포함하며 mvn 커맨드로 실행시 maven 은 이 POM 파일을 읽어 설정 정보를 찾으며 그리고 나서 goals 를 실행한다. POM pom.xml 에 아래 내용을 기술한다. 기본구조 com.blidkaga.group group-test 1.0.0-SNAPSHOT .... 위는 가장 기본이 되는 POM 파일의 구조로 groupId 는 보통 조직명을 의미하지만 실제로는 소스의 구조를 말하며 web 프로젝트의 경우 보통 reversed domain 형태로 표시한다. artifactId 는 project, lib..
04. Maven 기본 명령어 Form Maven 명령은 다음과 같은 형태로 실행 가능하다. $ mvn [options][][] option 은 pom.xml 이 없는 곳에서도 실행할 수 있고 golas 와 phase 는 pom.xml 있는 프로젝트 디렉토리에서 실행가능하다. goal 과 phase 는 한꺼번에 여러개를 동시 실행할 수 있다. option 을 통해 phase 로 옵션 전달시 -D 를 붙인 옵션을 사용한다. Example $ mvn clean test : clean 과 test phases 를 실행한다. $ mvn clean compiler:compile : clean phase 를 실행하고 플러긴의 compiler:compile 골을 실행한다. $ mvn -Dmaven.text.skip=true test : 옵션으로 ..