메이븐

메이븐 라이프사이클 참고) 메이븐 Getting Started 메이븐은 빌드 라이프사이클을 가지며, 라이프사이클의 각 단계를 페이즈라고 부른다. 메이븐의 라이프사이클과 페이즈 메이븐 빌드를 앤트(Ant)빌드와 비교해보자. 앤트는 빌드하기 위한 단위로 타겟을 사용한다. 앤트 기반의 빌드 스크립트 앤트 빌드는 엘리먼트 생성과 엘리먼트 사이의 의존관계를 개발자가 자유롭게 설정할 수 있다. 메이븐 빌드보다 자유로운편이라 느껴진다. 프로젝트 빌드 과정(일반적) 빌드 결과물 삭제 컴파일에 필요한 자원을 복사 소스 코드 컴파일 테스트 패키지 배포 앤트(Ant)에서는 이 각각의 단계를 으로 만든 후 각 타겟의 의존 관계를 만들어 순서를 결정한다. 메이븐도 순서는 같으며, 다른 점..
빌드도구의 등장"개발자들이 단순, 반복적으로 실행하는 작업을 자동화함으로써 업무를 효율화할 수 있는 방법이 없을까?"지원 기능 목록 빌드 무선화 리포팅 의존 관계 소스 코드 관리 릴리즈 배포 앤트 메이븐메이븐은 메이븐이 접근할 수 있는 저장소를 지원저장소를 통하여 템플릿 프로젝트인 아키타입(Archetype), 의존관계에 있는 라이브러리, 메이븐 플러그인 기능을 지원(메이븐만 설치하면 프로젝트 빌드에 필요한 라이브러리, 플러그인을 저장소에서 개발자 PC로 자동 다운로드) 메이븐 설치 및 템플릿 프로젝트 생성 메이븐 설치 최신버전 다운(http://maven.apache.org/download.cgi) 시스템 환경 변수에 MAVEN_HOME 추가 시스템 환경 변수 PATH에 MAVEN_HOME/bin 추가..
메이븐(Maven) 빌드 생명주기앞에서도 설명했듯이메이븐 실행 단위를 골(Goal)이라고 하며, 골들이 상호 연관해 실행되는데 그러한 관계를 메이븐 골의 생명주기라고 한다. CleanValidate => Compile => Test => Package => InstallDeploy로 구성되어있으며각 골들이 하는 역할을 간단히 설명 Clean=> build 후 만들어지는 Target의 디렉터리를 삭제한다.Validate=> 올바른 Pom.xml인지 확인한다.Compile=> 의존성들을 가져오고, Target/classes 디렉터리에 빌드한다.Test=> 테스트 코드를 실행한다.Package=> Test 상태가 성공적으로 실행된 다음에 실행되며 War 나 Jar 파일같은 결과물을 생성한다. Install=>..
pom.xml, 에서 사용되는 메이븐 기본 Properties 빌드'target' 폴더${project.build.directory} = ${pom.build.directory}'target/classes' 폴더${project.build.outputDirectory}프로젝트 이름${project.name} = ${pom.name} 프로젝트 버전${project.version} = ${pom.version} = ${version}최종 파일 이름${project.build.finalName} 환경 변수시스템 PATH{env.PATH} 시스템 JAVA_HOME{env.JAVA_HOME} etcpom.xml이 위치하는 디렉터리${basedir}
메이븐(maven) 의존성 관리pom.xml에 lib관련 내용을 추가하면 maven repositoy에서 라이브러리를 다운받아서 로컬의 메이븐 저장소에 저장(기본 위치는 사용자 홈 디렉터리 하위의 .m2 디렉터리에 저장되며 설정에 따라서 위치 변경 가능)ex) maven Repositoy(http://search.maven.org/) 의존성 관리를 하면서 빼놓을 수 없는 것이 관련 라이브러리를 메이븐에서 어느 범위까지 적용해서 사용할 것인지 정의하는 부분이다.메이븐에서 사용가능한 5가지 범위 존재Compile- 기본값, 컴파일 범위는 모든 단계. - 즉, 컴파일, 테스트, 실행, 배포 전체에 클래스 패스로 사용되며 현재 프로젝트와 연관된 다른 프로젝트에도 영향을 준다.Provided- Compile 범위..
POM 구조 이해메이븐은 프로젝트 객체 모델(Project Object Model)이라는 개념을 바탕으로 프로젝트 의존성 관리, 라이브러리 관리, 프로젝트 생명 주기 관리 기능 등을 제공하는 프로젝트 관리 도구이다.다른 빌드 도구와는 다르게 선언적 접근 방법(Declarative Approach)를 사용한다. 빌드 프로세스를 이벤트 단위로 기술하는 것이 아니라, 프로젝트를 설명하고 프로젝트 구조에 대해서 정의하고 이와 관련된 연관 정보들을 기술하는 형태를 가지고 있다. pom.xml 에 들어가는 정보내용기본정보 프로젝트 정의(컨텍스트와 아티팩트를 정의) : 필수연관 정보(라이브러리 연관 관계 및 상위 프로젝트 등 관련 정보에 대한 기술) : 필수 프로젝트 정보 선택 빌드 설정 빌드 정의(기본 설정되어 있..
빌드 및 패키징 앞에서 만든 메이븐 프로젝트를 빌드하고 패키징하는 일이 남았다. 모든 동작은 POM파일에 작성되어 있다. 많은 빌드 소프트웨어의 스크립트는 클래스 패스를 설정하고 정보를 설정하고 컴파일 방법과 패키징 방법을 기술하도록 되어 있는데(예 : ANT빌드) pom.xml파일에는 그런 내용이 없다.(늘상 반복적으로 정의하는 빌드 프로세스가 내장되어 있고 그래서 각 명령에 대한 상세 정의 역시 존재하지 않는다.) pom.xml이 저장되어 있는 위치에서 mvn compile 실행(컴파일) 작업이 완료되면 target 디렉터리가 생긴 것을 볼 수 있다. target에는 src디렉터리를 기반으로 컴파일한 결과물과 자원들이 저장된다. test 코드 실행 mvn test 실행(JUnit 테스트 코드 실행) ..
메이븐 설치메이븐은 해당 url에서 쉽게 다운로드 가능 (http://maven.apache.org/download.cgi)메이븐을 설치한 후에는 자바를 설치한 것처럼 환경변수를 잡아 주어야한다.(보통 JAVA_HOME 처럼, 메이븐에서는 M2_HOME으로 설정해주는 것 같음)M2_HOME=E:\apache-maven-3.5.3PATH=%M2_HOME%/bin 메이븐은 명령형 기반의 도구이기 때문에 압축을 해제하고 운영체제의 환경변수에 설정값을 반영하면 모든 것이 끝이 난다. 메이븐의 이해메이븐은 자바기반의 빌드 도구 이며, 플러그인을 설치하면 리포팅과 문서화, 각종 테스트와 검사를 수행할 수 있는 확장 가능한 구조를 가지고 있다.(pom.xml 파일 하나만 변경하면 메이븐 설정을 변경할 수 있음)메이븐..
깡냉쓰
'메이븐' 태그의 글 목록 (2 Page)