본문 바로가기

Maven Webapp in Eclilpse 1. 이클립스에 메이븐 플러그인 설치 [Help] - [Install New Software...] - [Add...]Name : MavenLocation : http://download.eclipse.org/technology/m2e/releases 2. 메이븐 웹 어플리케이션 프로젝트 생성 [File] - [New] - [Project...] - [Maven] - [Maven Project] - [Select Workspace location]Catalog : InternalGroup Id : org.apache.maven.archetypesArtifact Id : maven-archetype-webapp 사내 저장소가 있다면,Catalog: Nexus IndexerCatalog File: Nexus..
Nexus Group 중앙 저장소를 Nexus로 변경하려면 ~/.m2/settings.xml 파일을 변경해야 합니다.Nexus를 사내 개발로 사용하려면, releases와 snapshots를 포함하는 하나의 Nexus group을 구성해야 합니다.공개 group에 snapshot저장소를 추가하고 Maven의 ~/.m2/settings.xml 파일에 mirror 구성을 추가합니다.이 설정은 Nexus 설치 후에 기본적으로 되어 있습니다. 하나의 Nexus 그룹을 구성하기 위해 하나의 profile 을 정의합니다.Super POM에 정의되어 있는 central 저장소를 재정의하여 를 구성합니다.그리고 에 URL도 재정의하여 Nexus 그룹의 URL..
Deploy to Nexus Internal Repository Private remote internal repository 은 내부(사내) 저장소라고 합니다.프로젝트 개발시 모든 구성원이 중앙 저장소로부터 필요한 라이브러리를 다운로드 할 수 있지만, 구성원간에 공유해야 하는 별도의 리소스를 공유, 관리하기 위해 사내 저장소가 필요합니다.사내 저장소 구성을 위해 Nexus, Artifactory 등의 OSS 를 이용할 수 있습니다. 둘 중 대세인 Nexus 를 사용해 보겠습니다. Nexus site : http://www.sonatype.org/nexusNexus 설치 안내 대략적인 Nexus 로의 배포 시나리오는 다음과 같습니다. 누군가 Nexus에 라이브러리를 등록할 수 있도록 별도의 계정 생성. 로컬 저장소에서 mvn dep..
Central Repository http://repo.maven.apache.org/maven2/http://search.maven.org maven에서 저장소는 세가지로 분류할 수 있습니다.Central, Internal, Local repository Central repository 는 중앙 저장소라고 하며, 이곳에 등록되어 있는 다양한 버전의 외부 OSS(오픈소스) 라이브러리들을 Maven에서 설정한 에 지정하여 로컬 저장소에 가져올 수 있습니다. 중앙 저장소에는 개발자가 임의로 라이브러리를 배포할 수 없으니 외부 라이브러리를 가져오는 용도로만 사용한다고 보면 되겠습니다. 사용하고자 하는 외부 라이브러리를 중앙 저장소에 접속하여 검색하고 버전을 선택하면, Dependency Information 이 나..
Default Lifecycle Phases Maven의 Default lifecycle 입니다. validate - 프로젝트 정보가 올바른지 체크 compile - 프로젝트의 소스 코드 컴파일 test - 단위 테스트를 사용하여 컴파일된 소스 코드 테스트 package - .jar 같은 배포 형식으로 컴파일된 코드 패키징 integration-test - 패키지 처리 및 배포 테스트 verify - 패키지 유효성 체크 install - 로컬 저장소에 패키지 설치 deploy - 원격 저장소에 최종 패키지 복사 etc command mvn package - target 디렉토리에 jar 파일을 생성합니다.mvn install - 다른 프로젝트에서 종속성으로 사용할 수 있도록 생성된 jar 파일을 로컬 저장소(~/.m2/repository)에 저장합..
mvn compile mvn archetype:generate 명령으로 프로젝트를 생성했습니다.Maven in 5 minute 에서는 프로젝트 생성 후에 mvn package 명령으로 main 소스와 test 소스를 모두 컴파일 했습니다.mvn compile 명령으로 main 소스만 컴파일 할 수 있습니다. $ mvn compile[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building myapp 1.0-SNAPSHOT[INFO] -------------------------------------------------------------------..
Project Object Model (POM) mvn archetype:generate 명령으로 프로젝트 디렉토리에 pom.xml 파일이 생성됩니다.pom.xml 파일에서는 프로젝트 빌드에 관련된 주요 정보와 환경설정이 들어 있습니다.아래는 간단한 POM 폼 입니다. 4.0.0 com.oops4u.app
Archetype 앞서 프로젝트 구조를 빌드하기 위해 다음의 명령을 입력하였습니다. # mvn archetype:generate \ -DgroupId=com.oops4u.app \ -DartifactId=app1 \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DinteractiveMode=false 제일 앞에 archetype 이란 것이 있는데 이것은 Maven 프로젝트를 템플릿화 해주는 도구입니다.여기서 템플릿이란 정해놓은 빌드 구조(디렉토리 구조)대로 자동 생성해 주는 것입니다.groupId는 조직의 고유 아이디(일반적으로 도메인 이름), artifactId 는 프로젝트명 입니다. (groupId + artifactId = package) Archetype 기반의 새로..