4.1 신뢰성
이제 Maven을 인기 있게 만든 또 다른 기능인 종속성 관리를 살펴보겠습니다.
Maven 프로젝트에 일부 라이브러리를 추가하려면 의존성 섹션에서 pom 파일에 라이브러리를 추가하기만 하면 됩니다 . 단순하다는 점에서 보입니다.
프로젝트에 최신 버전의 Spring 및 Hibernate를 추가해 보겠습니다. 다음과 같이 표시됩니다.
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>6.0.0.Final</version>
</dependency>
</dependencies>
그게 전부입니다. 다른 작업을 수행할 필요가 없습니다 . 이 줄을 프로젝트에 추가하면 IDEA는 필요한 라이브러리를 즉시 다운로드합니다. 그 후 몇 초 후에 코드에서 해당 클래스를 사용할 수 있습니다.
중요한 점: 프로젝트를 GitHub에 업로드하거나 다른 사람에게 아카이브로 보내면 이 사람이 프로젝트를 빌드할 수 있음이 보장됩니다. 라이브러리, 종속성 및 빌드 스크립트에 대한 모든 정보는 이미 프로젝트에 고정되어 있습니다.
4.2 Maven 저장소에서 라이브러리를 검색하는 방법
그런데 이 두 라이브러리의 XML을 1분도 안 되어 내 pom.xml에 추가했습니다. 나쁘지 않죠? 이제 프로젝트에 라이브러리를 빠르게 추가하는 방법을 알려드리겠습니다.
첫째, 인터넷에는 수백만 개의 라이브러리를 저장하는 중앙 공용 Maven 저장소가 있습니다 . https://mvnrepository.com/ 링크에 있으며 필요한 라이브러리를 직접 검색할 수 있습니다.
![메이븐](https://cdn.codegym.cc/images/article/0e152cf9-cbd4-4a41-a2ca-517cfd94a32b/1024.jpeg)
둘째, 훨씬 더 간단할 수 있습니다. 즉시 Google "maven hibernate" 에 쓰고 첫 번째 링크를 따라가면 다음과 같은 결과를 얻을 수 있습니다.
![메이븐 2](https://cdn.codegym.cc/images/article/0d39a8c7-6860-401b-b272-9090248bc5c0/1024.jpeg)
원하는 버전을 선택하고 클릭합니다. 때로는 최신 버전에 베타 접미사가 포함된 다음 이전 버전으로 이동합니다.
버전 6.0.0.Final을 선택하고 마지막 페이지로 이동했습니다.
![](https://cdn.codegym.cc/images/article/a2d7e84e-abfb-4134-ab32-8d9105c2520d/1024.jpeg)
여기서 녹색 상자는 pom.xml에 복사해야 하는 코드입니다. 모두.
4.3 종속성 저장소
프로젝트를 빌드할 때 Maven은 먼저 로컬 저장소에서 지정된 라이브러리(아티팩트)를 찾습니다. 거기에서 찾을 수 없으면 전역 Maven 저장소에서 찾을 것입니다. 그런 다음 로컬 리포지토리에 업로드하여 다음 빌드 속도를 높입니다.
그러나이 두 저장소 외에도 다른 저장소가 있습니다.
첫째, 많은 대기업에는 자체 라이브러리가 있는 maven 리포지토리가 있습니다.
둘째, Docker가 발명되기 전에는 많은 프로젝트가 구축된 후 단순히 회사 Maven 저장소에 배치되었습니다. 그리고 뭐? 모든 것을 보관할 수 있는 좋은 장소입니다. 버전 관리가 다시 지원됩니다.
일반적으로 갑자기 타사 리포지토리를 프로젝트에 연결하기로 결정한 경우 다음과 같이 간단하게 종속성을 추가할 수 있습니다.
<repositories>
<repository>
<id>public-codegym-repo</id>
<name>Public CodeGym Repository</name>
<url>http://maven.codegym.cc</url>
</repository>
<repository>
<id>private-codegym-repo</id>
<name>Private CodeGym Repository</name>
<url>http://maven2.codegym.cc</url>
</repository>
</repositories>
각 리포지토리 에는 키/ID, 이름 및 URL의 3가지 항목이 있습니다 . 아무 이름이나 지정할 수 있습니다. 편의를 위한 것이고 ID도 내부 요구 사항을 위한 것입니다. 사실 URL만 지정하면 됩니다.
이것이 공개 리포지토리인 경우 이 정보는 쉽게 검색할 수 있으며 회사 정보인 경우 해당 리포지토리에 대한 액세스 권한을 부여할 때 해당 정보를 제공합니다.
Maven 제작자는 표준화 방법을 알고 있으므로 거부할 수 없습니다.