00. Maven 설치
- 아파치 메이븐 다운로드 페이지 접속
https://maven.apache.org/download.cgi
가장 최신 버전인 Maven 3.8.4 버전을 다운로드!
나는 윈도우를 사용하기 때문에 bin.zip 버전을 다운 받는다. (맥 사용자도 이 버전 다운로드해도 된다)
그리고 알아서 압축 풀기를 한다.
커맨드로 작업할 경우는 시스템 속성 > 환경 변수에 직접 등록해야된다.
Path에 저장소경로~\apache-maven-3.8.4\bin 까지의 경로를 등록한다. (공백 앞뒤로 없어야 한다.)
cmd 선택 명령 프롬프트에서 mvn -version 입력 해보면 버전 정보가 나온다.
01. Maven 설정
기본적으로 STS에는 내장되어있는 Maven이 있다.
그러나 특정 버전을 사용할 경우에는 내장 Maven 사용하지 않고 다운로드해서 사용한다.
Preferences > Maven > Installations > Add... > Installation home 의 Directory ... 클릭하여 메이븐이 설치된 home으로 폴더를 잡는다.
최종으로 다운로드 한 Maven 3.8.4버전이 추가된 모습이고 사용할 것을 체크하고 Apply
다운로드 한 폴더 apache-maven-3.8.4 폴더 안에 conf 폴더를 보면 settings.xml 파일이 있다.
이 파일은 현재 다운로드 받은 메이븐에 대한 설정 파일이다. 이 파일을 읽어 올 수 있도록 설정한다.
conf까지의 경로를 copy하고 Preferences > Maven > User Settings 에서 세팅하면 된다.
경로 입력하고 Update Settings 누르고 Apply
02. Maven Repository 이용하기
1. ojdbc6
2. lombok
3. junit5
- 기존에 적혀있던 부분 지우고 추가,
- 경로가 달라졌기 때문에 AppTest.java 파일 수정 : 1. 기존 import 전부 삭제, Ctrl + space 로 @Test( org.junit.jupiter.api ) 추가 + 2. assertTrue() 도 (org.junit.jupiter.api.Assertions) 선택해서 static import 추가
4. assertj
5. mybatis
검색해서 가장 추가버전으로 <dependencies> 태그 안에 추가하기
각각 추가하고 Alt + F5 눌러서 Update Maven Project 에서 업데이트를 해준다.
그리고 나서 Pakage Explorer에 Maven Denpendencies 를 열어보면 라이브러리 추가한 것들과 그 라이브러리들과 종속 관계를 가지는 라이브러리들이 자동으로 다운되어서 추가된다. (옆에 원격지에 있는 라이브러리를 내 로컬 PC에 저장한 경로가 보인다. 기본 설정은, 내 PC > 사용자 > 지금 접속한 계정 > .m2 폴더 > repository에 저장된다. Default: ${user.home}/.m2/repository -> setting.xml 파일에서 확인할 수 있음)
이렇게 하면 프로젝트 만들어서 서로 공유할 때(깃에는 jar 파일을 포함하지 않기 때문에), 라이브러리가 포함되어 있지 않아도 pom.xml을 보고 내 로컬 PC로 같은 버전의 라이브러리를 다운받아서 사용할 수 있다.
<dependencies> <dependency> <groupId>프로젝트를 만드는 조직의 고유 아이디, 도메인의 역순으로 적는다.</groupId> <artifactId>실제 빌드했을 때, 만들어지는 파일 artifact 이름</artifactId> <version>프로젝트||라이브러리 버전</version> <!-- 개발 중 : SNAPSHOT , 배포 시 : RELEASE --> <scope>라이브러리 사용 시점</scope> <!-- compile : 기본, 컴파일할 때, 배포할 때 사용할 때 라이브러리를 묶어서 제공 provided : 컴파일때는 사용하지만, 배포할 때는 포함시키지 않는다. test : 테스트 코드에만 사용하는 라이브러리(프로덕트 코드, 배포에는 사용 X) --> </dependency> </dependencies> |
<!-- 라이브러리 의존성 설정 -->
<dependencies>
<!-- DB 관련 라이브러리 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
<!-- lombok 라이브러리 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<!-- Test 관련 라이브러리 -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
<!-- assertj-core 라이브러리 -->
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.21.0</version>
<scope>test</scope>
</dependency>
</dependencies>
Dependencies 탭에서는 내가 사용하고 있는 라이브러리 목록들을 볼 수 있다. 옆에 scope도 표시해준다. 이곳에 표시된 것은 pom.xml 파일에 작성한 것들만 보여주는 반면,
왼쪽 Pakage Explorer의 Maven Denpendencies 에서는 라이브러리를 참조하고 있거나, 종속 관계있는 모든 항목을 표시한다. = Dependency Hierachy 탭과 같다.
Effective POM 은 기본적으로 설정되어 있는 내용 + 우리가 설정한 내용이 합쳐진 것
▼참조 사이트
https://maven.apache.org/guides/introduction/introduction-to-archetypes.html
'Study > Setting & Tip' 카테고리의 다른 글
DAY 152. Spring에 Mybatis 연동하기 (0) | 2022.01.18 |
---|---|
DAY 142. Log4j (0) | 2022.01.07 |
DAY 133. STS(Spring Tool Suite 3) 초기 환경 설정 (0) | 2021.12.29 |
DAY 110. 이클립스에서 JSP 라이브러리 추가한 탬플릿 만들기 (0) | 2021.12.06 |
DAY 108. JSP Apache Taglibs 이클립스에 추가하기 (0) | 2021.12.04 |