2.3. Maven 리포지토리 사용

2.3.1. JBoss EAP Maven 리포지토리 구성

개요

프로젝트에서 JBoss EAP Maven 리포지토리를 사용하도록 Maven에 대한 두 가지 접근법이 있습니다.

Maven 설정을 사용하여 JBoss EAP Maven 리포지토리 구성

권장되는 접근 방식입니다. 공유 서버의 리포지토리 관리자 또는 리포지토리와 함께 사용되는 Maven 설정은 프로젝트의 제어 및 관리 용이성을 제공합니다. 설정은 다른 미러를 사용하여 프로젝트 파일을 변경하지 않고 특정 리포지토리의 모든 조회 요청을 저장소 관리자로 리디렉션하는 기능도 제공합니다. 미러에 대한 자세한 내용은 http://maven.apache.org/guides/mini/guide-mirror-settings.html 의 내용을 참조하십시오.

프로젝트 POM 파일에 리포지토리 구성이 포함되지 않는 한 이 구성 방법은 모든 Maven 프로젝트에 적용됩니다.

이 섹션에서는 Maven 설정을 구성하는 방법에 대해 설명합니다. Maven 설치 글로벌 설정 또는 사용자의 설치 설정을 구성할 수 있습니다.

Maven 설정 파일 구성

  1. 운영 체제에 대한 Maven settings.xml 파일을 찾습니다. 일반적으로 ${user.home}/.m2/ 디렉터리에 있습니다.

    • Linux 또는 Mac의 경우 ~/.m2/입니다.
    • Windows의 경우 \Documents 및 Settings\.m2\ 또는 \Users\.m2\입니다.
  2. settings.xml 파일을 찾지 못하는 경우 ${user.home}/ .m2/conf/ 디렉터리에서 settings. xml 파일을 ${user.home}/.m2/ 디렉터리에 복사합니다.
  3. 다음 XML을 settings.xml 파일의 <profiles> 요소에 복사합니다. JBoss EAP 리포지토리의 URL을 확인하고 JBOSS_EAP_REPOSITORY_URL 을 이 리포지토리로 교체합니다.

    <!-- Configure the JBoss Enterprise Maven repository -->
    <profile>
      <id>jboss-enterprise-maven-repository</id>
      <repositories>
        <repository>
          <id>jboss-enterprise-maven-repository</id>
          <url>JBOSS_EAP_REPOSITORY_URL</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>jboss-enterprise-maven-repository</id>
          <url>JBOSS_EAP_REPOSITORY_URL</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>

    다음은 온라인 JBoss EAP Maven 리포지토리에 액세스하는 구성의 예입니다.

    <!-- Configure the JBoss Enterprise Maven repository -->
    <profile>
      <id>jboss-enterprise-maven-repository</id>
      <repositories>
        <repository>
          <id>jboss-enterprise-maven-repository</id>
          <url>https://maven.repository.redhat.com/ga/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>jboss-enterprise-maven-repository</id>
          <url>https://maven.repository.redhat.com/ga/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  4. 다음 XML을 settings.xml 파일의 <activeProfiles> 요소에 복사합니다.

    <activeProfile>jboss-enterprise-maven-repository</activeProfile>
  5. Red Hat CodeReady Studio가 실행되는 동안 settings.xml 파일을 수정하면 사용자 설정을 새로 고쳐야 합니다.

    1. 메뉴에서 기본 설정을 선택합니다.
    2. Preferences(기본 설정 ) 창에서 Maven 을 확장하고 User Settings (사용자 설정)를 선택합니다.
    3. Update Settings (설정 업데이트) 버튼을 클릭하여 Red Hat CodeReady Studio에서 Maven 사용자 설정을 새로 고칩니다.
중요

Maven 리포지토리에 오래된 아티팩트가 포함된 경우 프로젝트를 빌드하거나 배포할 때 다음 Maven 오류 메시지 중 하나가 발생할 수 있습니다.

  • 누락된 아티팩트 ARTIFACT_NAME
  • [오류] 프로젝트 PROJECT_NAME에서 목표를 실행하지 못했습니다. PROJECT_NAME 에 대한 종속성을 확인할 수 없습니다.

이 문제를 해결하려면 캐시된 버전의 로컬 리포지토리를 삭제하여 최신 Maven 아티팩트를 강제로 다운로드합니다. 캐시된 리포지토리는 ${user.home}/.m2/repository/에 있습니다.

프로젝트 POM을 사용하여 JBoss EAP Maven 리포지토리 구성
주의

구성된 프로젝트의 전역 및 사용자 Maven 설정을 재정의하므로 이 구성 방법은 피해야 합니다.

POM 프로젝트를 사용하여 리포지토리를 구성하기로 결정한 경우 신중하게 계획해야 합니다. Maven이 누락된 아티팩트에 대해 외부 리포지토리를 쿼리해야 하고 이로 인해 빌드 프로세스가 느려지기 때문에 절대 포함된 POM은 이러한 유형의 구성에서 문제가 됩니다. 또한 아티팩트가 들어오는 위치를 제어하지 못하도록 할 수도 있습니다.

참고

리포지토리의 URL은 리포지토리가 있는 위치(파일 시스템 또는 웹 서버의 위치)에 따라 달라집니다. 리포지토리 설치 방법에 대한 자세한 내용은 다음을 참조하십시오. JBoss EAP Maven 리포지토리 설치. 다음은 각 설치 옵션에 대한 예입니다.

파일 시스템
file:///path/to/repo/jboss-eap-maven-repository
Apache 웹 서버
http://intranet.acme.com/jboss-eap-maven-repository/
Nexus 리포지토리 관리자
https://intranet.acme.com/nexus/content/repositories/jboss-eap-maven-repository

프로젝트의 POM 파일 구성

  1. 텍스트 편집기에서 프로젝트의 pom.xml 파일을 엽니다.
  2. 다음 리포지토리 구성을 추가합니다. 파일에 이미 <repositories> 구성이 있는 경우 <repository> 요소를 추가합니다. <url> 을 실제 리포지토리 위치로 변경하십시오.

    <repositories>
       <repository>
          <id>jboss-eap-repository-group</id>
          <name>JBoss EAP Maven Repository</name>
          <url>JBOSS_EAP_REPOSITORY_URL</url>
          <layout>default</layout>
          <releases>
             <enabled>true</enabled>
             <updatePolicy>never</updatePolicy>
          </releases>
          <snapshots>
             <enabled>true</enabled>
             <updatePolicy>never</updatePolicy>
          </snapshots>
       </repository>
    </repositories>
  3. 다음 플러그인 리포지토리 구성을 추가합니다. 파일에 이미 <pluginRepositories> 구성이 있는 경우 <pluginRepository> 요소를 추가합니다.

    <pluginRepositories>
       <pluginRepository>
          <id>jboss-eap-repository-group</id>
          <name>JBoss EAP Maven Repository</name>
          <url>JBOSS_EAP_REPOSITORY_URL</url>
          <releases>
             <enabled>true</enabled>
          </releases>
          <snapshots>
             <enabled>true</enabled>
          </snapshots>
       </pluginRepository>
    </pluginRepositories>
JBoss EAP 리포지토리의 URL 확인

리포지토리 URL은 리포지토리가 있는 위치에 따라 다릅니다. 다음 리포지토리 위치를 사용하도록 Maven을 구성할 수 있습니다.

  • 온라인 JBoss EAP Maven 리포지토리를 사용하려면 다음 URL을 지정합니다. https://maven.repository.redhat.com/ga/
  • 로컬 파일 시스템에 설치된 JBoss EAP Maven 리포지토리를 사용하려면 리포지토리를 다운로드한 다음 URL에 대한 로컬 파일 경로를 사용해야 합니다. 예: file:///path/to/repo/jboss-eap-7.4.0-maven-repository/maven-repository/
  • Apache 웹 서버에 리포지토리를 설치하는 경우 리포지토리 URL은 다음과 유사합니다. http://intranet.acme.com/jboss-eap-7.4.0-maven-repository/maven-repository/
  • Nexus Repository Manager를 사용하여 JBoss EAP Maven 리포지토리를 설치하는 경우 URL은 다음과 같습니다. https://intranet.acme.com/nexus/content/repositories/jboss-eap-7.4.0-maven-repository/maven-repository/
참고

원격 리포지토리는 HTTP 서버의 리포지토리에 http:// 와 같은 일반 프로토콜을 사용하거나 파일 서버의 리포지토리에 file:// 와 같은 일반 프로토콜을 사용하여 액세스합니다.