OpenShift - Apache Maven 학습 1[재시작] > PaaS

본문 바로가기
사이트 내 전체검색

PaaS

OpenShift - Apache Maven 학습 1[재시작]

페이지 정보

profile_image
작성자 꿈꾸는여행자
댓글 0건 조회 85회 작성일 21-04-04 16:44

본문

안녕하세요


PaaS 사용에 있어 Java Build에 꼭 필요한 Maven Build 관련 학습이 중요 할것 같습니다.

이번도 tutorial point 기준으로 Maven Build 학습을 진행하고자 하였으나,
해당 내용이 오래되고 실행에 따른 정보가 많이 부족한것을 추가 확인하였습니다.

Apache Maven 공식 사이트(https://maven.apache.org/index.html) 내용을 기준으로 테스트 및 실습을 다시 하고자 합니다.

완벽한 자료 보다는 계속된 업데이트를 통해 자료 보완이 필요한것 같습니다.

기존 내용과 유사한 부분이 있지만, Apache Maven 기준 자료 Update하여 드립니다.


모르는 상태로 하는것이라 어려운게 많은것 같습니다.

감사합니다.

> 아래
Apache Maven
https://maven.apache.org/


________________


목차


1. Maven은 무엇입니까?
1.1. 소개
1.2. Maven의 목표
1.3. 빌드 프로세스를 쉽게 만들기
1.4. 균일 한 빌드 시스템 제공
1.5. 양질의 프로젝트 정보 제공
1.5. 모범 사례 개발을위한 지침 제공
1.6. Maven Not은 무엇입니까?
2. 특징
2.1. 기능 요약
3. 다운로드
3.1. Apache Maven 3.6.3 다운로드
3.2. 시스템 요구 사항
3.3. 파일
3.4. 이전 릴리스
4. 설치 및 구성
4.1. 설치
4.1.1. Apache Maven 설치
4.1.2. Windows 팁
4.1.2.1. 실습
4.1.3. Unix 기반 운영 체제 (Linux, Solaris 및 Mac OS X) 팁
5. Maven 사용
5.1. Maven in 5 Minutes




________________


1. Maven은 무엇입니까?
1.1. 소개
지식의 축적을 의미 하는 이디시어 Maven 은 Jakarta Turbine 프로젝트의 빌드 프로세스를 단순화하려는 시도로 시작되었습니다. 각각 약간 다른 Ant 빌드 파일이있는 여러 프로젝트가있었습니다. JAR이 CVS에 체크인되었습니다. 우리는 프로젝트를 빌드하는 표준 방법, 프로젝트 구성에 대한 명확한 정의, 프로젝트 정보를 게시하는 쉬운 방법, 여러 프로젝트에서 JAR을 공유하는 방법을 원했습니다.
그 결과 Java 기반 프로젝트를 빌드하고 관리하는 데 사용할 수있는 도구가 탄생했습니다. 우리는 Java 개발자의 일상적인 작업을 더 쉽게 만들고 일반적으로 Java 기반 프로젝트를 이해하는 데 도움이되는 무언가를 만들었기를 바랍니다.
1.2. Maven의 목표
Maven의 주요 목표는 개발자가 최단 시간 내에 개발 노력의 전체 상태를 이해할 수 있도록하는 것입니다. 이 목표를 달성하기 위해 Maven은 몇 가지 관심 영역을 다룹니다.
* 빌드 프로세스를 쉽게 만들기
* 균일 한 빌드 시스템 제공
* 양질의 프로젝트 정보 제공
* 더 나은 개발 관행 장려
1.3. 빌드 프로세스를 쉽게 만들기
Maven을 사용한다고해서 기본 메커니즘에 대해 알 필요가 없어지는 것은 아니지만 Maven은 개발자를 여러 세부 사항으로부터 보호합니다.
1.4. 균일 한 빌드 시스템 제공
Maven은 프로젝트 개체 모델 (POM)과 플러그인 세트를 사용하여 프로젝트를 빌드합니다. 하나의 Maven 프로젝트에 익숙해지면 모든 Maven 프로젝트가 어떻게 빌드되는지 알게됩니다. 이렇게하면 많은 프로젝트를 탐색 할 때 시간이 절약됩니다.
1.5. 양질의 프로젝트 정보 제공
Maven은 부분적으로는 POM에서 가져오고 부분적으로는 프로젝트 소스에서 생성 된 유용한 프로젝트 정보를 제공합니다. 예를 들어 Maven은 다음을 제공 할 수 있습니다.
* 소스 제어에서 직접 생성 된 변경 로그
* 상호 참조 된 소스
* 프로젝트에서 관리하는 메일 링리스트
* 프로젝트에서 사용하는 종속성
* 커버리지를 포함한 단위 테스트 보고서
타사 코드 분석 제품은 Maven에서 제공하는 표준 정보에 보고서를 추가하는 Maven 플러그인도 제공합니다.
1.5. 모범 사례 개발을위한 지침 제공
Maven은 모범 사례 개발을위한 현재 원칙을 수집하고 프로젝트를 해당 방향으로 쉽게 안내하는 것을 목표로합니다.
예를 들어 단위 테스트의 사양, 실행 및보고는 Maven을 사용하는 일반적인 빌드주기의 일부입니다. 현재 단위 테스트 모범 사례가 지침으로 사용되었습니다.
* 테스트 소스 코드를 별도의 병렬 소스 트리에 보관
* 테스트 케이스 이름 지정 규칙을 사용하여 테스트를 찾고 실행
* 테스트 준비를 위해 빌드를 사용자 정의하는 대신 테스트 케이스가 환경을 설정하도록합니다.
Maven은 릴리스 및 문제 관리와 같은 프로젝트 워크 플로우도 지원합니다.
Maven은 또한 프로젝트의 디렉토리 구조를 레이아웃하는 방법에 대한 몇 가지 지침을 제안합니다. 레이아웃을 배우면 Maven을 사용하는 다른 프로젝트를 쉽게 탐색 할 수 있습니다.
프로젝트 레이아웃에 대해 독단적 인 접근 방식을 취하지 만 일부 프로젝트는 역사적 이유로이 구조에 맞지 않을 수 있습니다. Maven은 다양한 프로젝트의 요구에 유연하게 맞출 수 있도록 설계되었지만 목표를 손상시키지 않고 모든 상황을 충족시킬 수는 없습니다.
프로젝트에 재구성 할 수없는 비정상적인 빌드 구조가있는 경우 일부 기능을 포기하거나 Maven을 아예 사용하지 않아야 할 수 있습니다.
1.6. Maven Not은 무엇입니까?
Maven에 대해 다음과 같은 내용을 들어 보셨을 것입니다.
* Maven은 사이트 및 문서 도구입니다.
* Maven은 Ant를 확장하여 종속성을 다운로드 할 수 있습니다.
* Maven은 재사용 가능한 Ant 스크립틀릿 세트입니다.
Maven이 이러한 작업을 수행하는 동안 위의 "What is Maven?"에서 읽을 수 있습니다. 섹션에서 Maven의 유일한 기능은 아니며 목표도 상당히 다릅니다.


________________


2. 특징
2.1. 기능 요약
다음은 Maven의 주요 기능입니다.
* 모범 사례를 따르는 간단한 프로젝트 설정-몇 초 만에 새 프로젝트 또는 모듈 시작
* 모든 프로젝트에서 일관된 사용-새로운 개발자가 프로젝트에 참여할 시간이 없음을 의미합니다.
* 자동 업데이트, 종속성 폐쇄 (전이 종속성이라고도 함)를 포함한 우수한 종속성 관리
* 동시에 여러 프로젝트로 쉽게 작업 할 수 있습니다.
* 즉시 사용할 수 있는 대규모 라이브러리 및 메타 데이터 저장소 및 최신 릴리스의 실시간 가용성을 위해 최대 규모의 오픈 소스 프로젝트와의 배치
* Java 또는 스크립팅 언어로 플러그인 을 쉽게 작성할 수있는 확장 가능
* 추가 구성이 거의 또는 전혀없이 새로운 기능에 즉시 액세스
* Maven 외부의 종속성 관리 및 배포를위한 Ant 작업
* 모델 기반 빌드 : Maven은 대부분의 경우 스크립팅을 수행 할 필요없이 프로젝트에 대한 메타 데이터를 기반으로하는 JAR, WAR 또는 배포와 같은 사전 정의 된 출력 유형으로 원하는 수의 프로젝트를 빌드 할 수 있습니다.
* 일관된 프로젝트 정보 사이트 : 빌드 프로세스와 동일한 메타 데이터를 사용하여 Maven은 추가하려는 문서를 포함하는 웹 사이트 또는 PDF를 생성하고 프로젝트 개발 상태에 대한 표준 보고서를 추가 할 수 있습니다. 이 정보의 예는 "프로젝트 정보"및 "프로젝트 보고서"하위 메뉴 아래에있는이 사이트의 왼쪽 탐색 하단에서 볼 수 있습니다.
* 릴리스 관리 및 배포 게시 : 많은 추가 구성없이 Maven은 소스 제어 시스템 (예 : Subversion 또는 Git)과 통합되고 특정 태그를 기반으로 프로젝트의 릴리스를 관리합니다. 다른 프로젝트에서 사용할 수 있도록 배포 위치에 게시 할 수도 있습니다. Maven은 JAR, 기타 종속성 및 문서를 포함하는 아카이브 또는 소스 배포와 같은 개별 출력을 게시 할 수 있습니다.
* 종속성 관리 : Maven은 JAR 및 기타 종속성의 중앙 저장소 사용을 권장합니다. Maven에는 프로젝트의 클라이언트가 Perl의 CPAN과 매우 유사한 중앙 JAR 저장소에서 프로젝트를 빌드하는 데 필요한 JAR을 다운로드하는 데 사용할 수있는 메커니즘이 함께 제공됩니다. 이를 통해 Maven 사용자는 프로젝트 전체에서 JAR을 재사용 할 수 있으며 이전 버전과의 호환성 문제를 처리 할 수 ​​있도록 프로젝트 간의 통신을 장려합니다.
________________


3. 다운로드
3.1. Apache Maven 3.6.3 다운로드
Apache Maven 3.6.3은 모든 사용자에게 최신 릴리스 및 권장 버전입니다.
현재 선택된 다운로드 미러는 https://downloads.apache.org/ 입니다. 이 미러에 문제가 발생하면 다른 미러를 선택하십시오. 모든 미러가 실패하면 사용할 수있는 백업 미러가 있습니다 (미러 목록 끝에 있음). 전체 미러 목록을 참조 할 수도 있습니다 .
기타 미러 :                          https://downloads.apache.org/
3.2. 시스템 요구 사항
자바 개발 키트 (JDK)
Maven 3.3 이상을 실행하려면 JDK 1.7 이상이 필요합니다. 도구 체인을 사용하여 1.3 및 기타 JDK 버전 에 대해 빌드 할 수 있습니다.
Memory
최소 요구 사항 없음
Disk
Maven 설치 자체에는 약 10MB가 필요합니다. 그 외에도 로컬 Maven 저장소에 추가 디스크 공간이 사용됩니다. 로컬 저장소의 크기는 사용량에 따라 다르지만 최소 500MB를 예상합니다.
OS
최소 요구 사항이 없습니다. 시작 스크립트는 셸 스크립트 및 Windows 배치 파일로 포함됩니다.
3.3. 파일
Maven은 편의를 위해 여러 형식으로 배포됩니다. 미리 만들어진 바이너리 배포 아카이브를 선택하고 설치 지침을 따르기 만하면 됩니다. Maven을 직접 빌드하려는 경우 소스 아카이브를 사용하십시오.
손상된 다운로드 / 설치로부터 보호하기 위해 Apache Maven 개발자가 사용 하는 공개 키 에 대해 릴리스 번들 의 서명 을 확인하는 것이 좋습니다 .


링크
체크섬
서명
바이너리 tar.gz 아카이브
apache-maven-3.6.3-bin.tar.gz
apache-maven-3.6.3-bin.tar.gz.sha512
apache-maven-3.6.3-bin.tar.gz.asc
바이너리 zip 아카이브
apache-maven-3.6.3-bin.zip
apache-maven-3.6.3-bin.zip.sha512
apache-maven-3.6.3-bin.zip.asc
소스 tar.gz 아카이브
apache-maven-3.6.3-src.tar.gz
apache-maven-3.6.3-src.tar.gz.sha512
apache-maven-3.6.3-src.tar.gz.asc
소스 zip 아카이브
apache-maven-3.6.3-src.zip
apache-maven-3.6.3-src.zip.sha512
apache-maven-3.6.3-src.zip.asc
* 릴리즈 노트
* 참조 문서
* 문서 아카이브로서의 Apache Maven 웹 사이트
* https://downloads.apache.org/maven/에서 사용 가능한 모든 최신 릴리스 소스 (플러그인, 공유 라이브러리, ...)
* 소스 저장소의 최신 소스 코드
* Apache License 버전 2.0에 따라 배포됩니다.
3.4. 이전 릴리스
최신 기능과 버그 수정을 활용하려면 Apache Maven의 최신 릴리스 버전을 사용하는 것이 좋습니다.
당신은 여전히 이전 버전을 사용하고자하는 경우에 당신은 더 많은 정보를 찾을 수 있습니다 메이븐 역사 자료 와 파일을 다운로드 할 수 있습니다 아카이브 버전 3.0.4+과에 대한 기존의 아카이브 이전 릴리스합니다.


________________


4. 설치 및 구성
4.1. 설치
4.1.1. Apache Maven 설치
Apache Maven 설치는 아카이브를 추출하고`mvn` 명령으로`bin` 폴더를`PATH`에 추가하는 간단한 프로세스입니다.
자세한 단계는 다음과 같습니다.
* JAVA_HOME환경 변수가 설정되어 있고 JDK 설치를 가리키는 지 확인하십시오.
* 모든 디렉토리에서 배포 아카이브 추출
  * unzip apache-maven-3.6.3-bin.zip
  * 또는
tar xzvf apache-maven-3.6.3-bin.tar.gz
  * 또는 선호하는 아카이브 추출 도구를 사용하십시오.
* bin생성 된 디렉토리의 디렉토리 apache-maven-3.6.3를 PATH환경 변수에 추가합니다.
* mvn -v 새 쉘에서 확인하십시오 . 결과는 다음과 유사해야합니다.
  * Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /opt/apache-maven-3.6.3
Java version: 1.8.0_45, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.8.5", arch: "x86_64", family: "mac"
  * 4.1.2. Windows 팁
* 환경 변수 값 확인 예
  * echo %JAVA_HOME%
C:\Program Files\Java\jdk1.7.0_51
  * * PATH추가: 시스템 속성 (WinKey + Pause)을 열고 "고급"탭 및 "환경 변수"버튼을 선택한 다음 PATH 변수 를 추가하거나 선택하여 압축을 푼 배포의 bin 디렉토리를 사용자 PATH 환경 변수에 추가 합니다. 값이있는 사용자 변수 C:\Program Files\apache-maven-3.6.3\bin. 동일한 대화 상자를 사용 JAVA_HOME하여 JDK의 위치 를 설정할 수 있습니다.C:\Program Files\Java\jdk1.7.0_51
* 새 명령 프롬프트를 열고 (Winkey + R을 입력 한 다음 입력 cmd) 실행 mvn -v하여 설치를 확인합니다.
4.1.2.1. 실습
* 시스템 환경 변수 편집
 

* Java Home
 

* Maven Home
 

* Path
 

* mvn 설정 확인
 







4.1.3. Unix 기반 운영 체제 (Linux, Solaris 및 Mac OS X) 팁
* 환경 변수 값 확인
  * echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
  * * PATH에 추가
  * export PATH=/opt/apache-maven-3.6.3/bin:$PATH
  *

첨부파일

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템 / 대표 : 정정모
서울본사 : 서울특별시 강남구 봉은사로 114길 40 홍선빌딩 2층 / tel : 02-6207-1160
대전지사 : 대전광역시 유성구 노은로174 도원프라자 5층 / tel : 042-331-1161

접속자집계

오늘
94
어제
265
최대
680
전체
43,582
Copyright © www.linuxdata.org All rights reserved.