제3 장 Maven 사용 입문
2. pom. xml 예:
<?xml version=”1.0” encoding=”UTF-8”?>
<project xmlns=http://maven.apache.org/POM/4.0.0
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd”>
<modelVersion>4.0.0</modelVersion>
<groupId>com.juvenxu.mvnbook</grouId>
<artifactId>hello-world</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Maven Hello World Project</name>
</project>
procject 요 소 는 모든 pom. xml 의 루트 요소 입 니 다. POM 과 관련 된 네 임 스페이스 와 xsd 요 소 를 설명 합 니 다. 이 속성 들 이 필요 한 것 은 아니 지만 이 속성 을 사용 하면 제3자 도구 (예 를 들 어 IDE 의 XML 편집기) 가 POM 을 빠르게 편집 하 는 데 도움 을 줄 수 있 습 니 다.model Version 은 현재 POM 모델 의 버 전 을 지정 하 였 으 며, Maven 2 및 Maven 3 에 있어 서 는 4.0.0 에 불과 합 니 다.
3. groupId, artifactId 와 version 세 가지 요 소 는 하나의 프로젝트 의 기본 적 인 좌 표를 정의 합 니 다. Maven 의 세계 에서 모든 jar, pom 또는 war 는 이러한 기본 적 인 좌 표를 바탕 으로 구 분 됩 니 다.groupId 는 프로젝트 가 어느 그룹 에 속 하 는 지 정의 합 니 다. 이 그룹 은 프로젝트 가 있 는 조직 이나 회사 와 관련 이 있 습 니 다.예 를 들 어 com. googlecode. myapp 또는 com. mycom. myapp.artifactId 는 현재 Maven 프로젝트 가 그룹 에서 유일한 ID 를 정의 합 니 다. 예 를 들 어 my app - util 이나 my app - domain 등 입 니 다.Version 은 1.0 - HHNAPSHOT 와 같은 프로젝트 의 현재 버 전 입 니 다.SNAPSHOT 은 스냅 샷 이라는 뜻 으로 아직 개발 중 이 며 불안정한 버 전이 다.
4. 기본적으로 Maven 은 프로젝트 의 메 인 코드 가 src / main / 자바 디 렉 터 리 에 있다 고 가정 합 니 다.Maven 은 자동 으로 이 디 렉 터 리 를 찾 아 프로젝트 의 주 코드 를 찾 습 니 다.일반적으로 프로젝트 에서 자바 류 의 패 키 지 는 프로젝트 의 groupId 와 artifactId 를 바탕 으로 더욱 뚜렷 하고 논리 적 이 며 검색 하기에 편리 해 야 한다.
5. 프로젝트 루트 디 렉 터 리 에서 mvn clean copile 을 실행 하면 프로젝트 의 정리 와 컴 파일 작업 을 수행 할 수 있 습 니 다.Maven 은 clean: clean 작업 (clean 플러그 인의 clean 목표) 을 먼저 수행 하고 target / 디 렉 터 리 를 삭제 합 니 다. 기본 적 인 상황 에서 Maven 이 구축 한 모든 출력 은 target / 디 렉 터 리 에 있 습 니 다.이 어 resources: resources 작업 을 수행 합 니 다.마지막 으로 copiler: copile 작업 을 수행 하고 프로젝트 의 주 코드 를 target / classes 디 렉 터 리 로 컴 파일 합 니 다.
6. Maven 프로젝트 의 기본 테스트 코드 디 렉 터 리 는 src / test / 자바 입 니 다.Junit 를 사용 하려 면 POM 에 의존 도 를 추가 해 야 합 니 다.
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
이 성명 이 있 으 면 Maven 은 자동 으로 중앙 창고 에서 (http://repo1.maven.org/maven2) 주 니 트 - 4.7. jar 를 다운 받 았 다.scope 는 의존 범 위 를 지정 했다.Test 는 이 의존 이 테스트 에 만 유효 하 다 고 표시 합 니 다. (테스트 코드 만 import JUnit 이 가능 합 니 다.)scope 기본 값 은 copile 입 니 다. 메 인 코드 와 테스트 코드 에 모두 유효 합 니 다.
7. 화면 음악 n clean test 는 clean: clean, resources: resources, copiler: copile, resources: testResources, copiler: testCompile 및 surefire: test 를 실행 합 니 다.Maven 은 test 를 실행 하기 전에 실 행 됩 니 다. resources: resources, copiler: copile, resources: testResources 및 copiler: testCompile.(프로젝트 주 자원 처리, 주 코드 컴 파일, 테스트 자원 처리, 테스트 코드 컴 파일 등 작업)
8. Maven 의 핵심 플러그 인 중 하나 인 copiler 플러그 인 은 기본적으로 자바 1.3 컴 파일 만 지원 하기 때문에 POM 에서 자바 5 를 지원 하도록 설정 해 야 합 니 다.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
9. 테스트 코드 는 컴 파일 을 통 해 target / test - classes 에서 바 이 너 리 파일 을 생 성 합 니 다.surefire 는 Maven 세계 에서 테스트 를 수행 하 는 플러그 인 입 니 다.
10. mvn clean package 를 실행 하여 포장 할 수 있 습 니 다. 포장 형식 이 지정 되 지 않 으 면 기본 jar 를 사용 합 니 다.jar: jar 는 프로젝트 메 인 코드 의 바 이 너 리 폴 더 를 패키지 로 만들어 artifact - version. jar 의 이름 규범 을 target / 출력 디 렉 터 리 에 표시 합 니 다.
11. mvn clean install 을 실행 하여 프로젝트 출력 jar 를 Maven 로 컬 창고 에 설치 합 니 다. 그 전에 jar: jar 를 실행 한 다음 install: install 을 실행 합 니 다.
12. test 를 실행 하기 전에 copile 을 먼저 실행 하고 package 를 실행 하기 전에 test 를 먼저 실행 하 며 인 스타 그램 을 실행 하기 전에 package 를 먼저 실행 합 니 다.
13. 실행 가능 한 jar 패 키 지 를 만 들 기 위해 서 는 maven - shade - plugin 을 통 해 POM 에 다음 과 같이 설정 해 야 합 니 다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation=”org.apache.maven.plugins.shade.resource.ManifestResourceTransformer”>
<mainClass>com.juvenxu.mvnbook.helloworld.HelloWorld</mainClass>
</transformer>
</transformers>
</configuration>
</executions>
</plugin>
14. 우 리 는 프로젝트 의 기본 디 렉 터 리 구조 (주 코드 디 렉 터 리, 테스트 코드 디 렉 터 리 등) 와 pom. xml 파일 내용 을 프로젝트 의 골조 라 고 부 릅 니 다.우 리 는 mvn archetype: generate 로 프로젝트 의 골격 을 생 성 할 수 있다.이 명령 은 Maven 2 에서 안전 하지 않 습 니 다. 최신 archetype 플러그 인 버 전 을 자동 으로 다운로드 하기 때문에 불안정 한 SNAPSHOT 버 전 을 받 을 수 있 습 니 다.그러나 Maven 3 에 서 는 사용자 가 지정 한 버 전이 없어 도 Maven 은 최신 안정 버 전 만 분석 합 니 다.Maven 2 에 서 는 mvn org. apache. maven. plugins: maven - archetype - plugin: 2.0 - alpha - 5: geneate 콜론 의 구분 형식 을 사용 하 는 것 을 권장 합 니 다. groupId: artifactId: version: goal.org. apache. maven. plugins 는 Maven 공식 플러그 인의 groupId 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Windows에서 CodeArtifact(Maven)용 토큰을 자동으로 생성하는 방법CodeArtifact를 사용한 적이 있거나 사용할 계획이라면 매일 모든 Maven 프로젝트에서 수동으로 토큰(CODEARTIFACT_AUTH_TOKEN)을 생성해야 합니다. 이는 어려울 수 있으며 개발 속도를 늦출...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.