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/ 링크에 있으며 필요한 라이브러리를 직접 검색할 수 있습니다.

메이븐

둘째, 훨씬 더 간단할 수 있습니다. 즉시 Google "maven hibernate" 에 쓰고 첫 번째 링크를 따라가면 다음과 같은 결과를 얻을 수 있습니다.

메이븐 2

원하는 버전을 선택하고 클릭합니다. 때로는 최신 버전에 베타 접미사가 포함된 다음 이전 버전으로 이동합니다.

버전 6.0.0.Final을 선택하고 마지막 페이지로 이동했습니다.

여기서 녹색 상자는 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 제작자는 표준화 방법을 알고 있으므로 거부할 수 없습니다.