블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
Maven 설치
본 글에서는 MacOS 환경에서 Maven을 설치하고, Homebrew를 이용한다.
# MacOSX
brew install maven
설치 완료 후 버전 확인
$ mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/Cellar/maven/3.6.3_1/libexec
Java version: 14.0.1, vendor: N/A, runtime: /usr/local/Cellar/openjdk/14.0.1/libexec/openjdk.jdk/Contents/Home
Default locale: ko_KR, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.5", arch: "x86_64", family: "mac"
Maven으로 Java 프로젝트 생성하기
archetype:generate 옵션을 넣어 프로젝트를 생성한다.
$ mvn archetype:generate -DgroupId=com.exam -DartifactId=crawler -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0.0-SNAPSHOT
...중략...
Confirm properties configuration:
groupId: com.exam
artifactId: crawler
version: 1.0.0-SNAPSHOT
package: com.exam
Y: : Y # 위 내용 확인 후 'Y' 입력
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 47.231 s
[INFO] Finished at: 2020-09-11T19:04:15+09:00
[INFO] ------------------------------------------------------------------------
옵션 설명
- -DgroupId: 프로젝트 패키지 (그룹 ID)
- -DartifactId: 프로젝트 명 (아티팩트 ID)
- -DarchetypeArtifactId: Maven 템플릿
- -Dversion: 버전
프로젝트 생성 확인
Maven 패키징
clean package 옵션으로 실행한다.
- clean: 이전에 만들어진 산출물을 삭제
- pacakge: 컴파일 -> 테스트 -> 빌드 과정을 한번에 해준다.
$ mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------------< com.exam:crawler >--------------------------
[INFO] Building crawler 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ crawler ---
[INFO] Deleting /Users/hong/dev/crawler/target
...중략...
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ crawler ---
[INFO] Surefire report directory: /Users/hong/dev/crawler/target/surefire-reports
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit3/2.12.4/surefire-junit3-2.12.4.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit3/2.12.4/surefire-junit3-2.12.4.pom (1.7 kB at 1.5 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-providers/2.12.4/surefire-providers-2.12.4.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-providers/2.12.4/surefire-providers-2.12.4.pom (2.3 kB at 7.7 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit3/2.12.4/surefire-junit3-2.12.4.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit3/2.12.4/surefire-junit3-2.12.4.jar (26 kB at 55 kB/s)
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.exam.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ crawler ---
[INFO] Building jar: /Users/hong/dev/crawler/target/crawler-1.0.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.527 s
[INFO] Finished at: 2020-09-11T19:11:25+09:00
[INFO] ------------------------------------------------------------------------
패키징된 산출물은 target/{artifactID}-{version}.jar
로 생성된다.
오류 발생하면?
만약, 아래와 같은 오류가 발생하면 pom.xml에 Java의 source
, target
버전을 넣어, Maven Compiler가 알 수 있도록 명시하자.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project crawler: Compilation failure: Compilation failure:
[ERROR] Source option 5 is no longer supported. Use 7 or later.
[ERROR] Target option 5 is no longer supported. Use 7 or later.
pom.xml
에 아래 내용 추가
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
반응형
'Language > JAVA' 카테고리의 다른 글
Java 파일 존재 여부, 파일 또는 디렉토리 확인하기 (0) | 2020.10.17 |
---|---|
Java와 Selenium을 이용하여 웹 크롤러 만들기 (0) | 2020.10.17 |
Integer.parseInt 와 Integer.valueOf의 차이 (JAVA) (0) | 2020.08.28 |
Java 의 주석 (한 줄 주석, 여러줄 주석, 문서 주석) (0) | 2020.05.29 |
자바(JAVA)의 개념 및 특징 정리 (0) | 2020.05.29 |