JavaRush /Java Blog /Random-KO /4부: 메이븐 기초

4부: 메이븐 기초

Random-KO 그룹에 게시되었습니다
이 자료는 "엔터프라이즈 개발 소개" 시리즈의 일부입니다. 이전 기사: 4부. 메이븐 기초 - 1Maven 은 프로젝트를 관리하고 구축하는 도구로, Java 프로그래머의 실제 조력자입니다. 프로젝트 구조 생성, 필요한 라이브러리 연결부터 서버에 제품 배포까지 모든 작업 단계에서 개발자의 삶이 더 쉬워집니다. 어떤 프레임워크로든 작업하려면 Maven을 사용해야 합니다. 그럼 오늘은 주요 기능을 살펴보고 어떻게 사용해야 하는지 살펴보겠습니다.

Maven의 단계별 설치

  1. 먼저 이 링크 에서 Maven을 다운로드하여 설치해야 합니다 .

  2. 다음으로 다운로드한 아카이브의 압축을 풀고 M2_HOME 환경 변수를 압축을 푼 아카이브 위치에 대한 링크로 설정해야 합니다. 예를 들어 C:\Program Files\maven\입니다.

  3. 모든 것이 설치되었는지 확인하려면 명령줄에 다음을 작성하십시오.

    mvn 버전

  4. Maven, Java 등의 버전 정보가 표시되면 사용할 준비가 된 것입니다.

  5. 이제 IntelliJIDEA를 열고 새 프로젝트를 만듭니다. 첫 번째 창에서 Maven을 선택합니다.

    4부. 메이븐 기초 - 2
  6. 다음을 클릭하고 다음 대화 상자를 작성합니다.

    4부. 메이븐 기초 - 3
  7. 다음으로 필요한 위치에 표준으로 프로젝트를 생성합니다.

    프로젝트가 생성된 후 해당 구조에 주의하세요.

    4부. Maven 기본 - 4
Maven 프로젝트의 표준 구조는 다음과 같습니다 .
  • src/main/java 폴더에는 Java 클래스가 포함되어 있습니다.
  • src /main/resources - 우리 애플리케이션이 사용하는 리소스(HTML 페이지, 그림, 스타일 시트 등)
  • src/test - 테스트용입니다.
또한 pom.xml 이라는 파일에 주의하세요 . Maven을 관리하기 위한 메인 파일 이다 . 전체 프로젝트 설명이 여기에 포함되어 있습니다. 아직 정보가 너무 많지는 않지만 지금 추가하겠습니다.

Maven의 종속성 관리

"종속성 관리자" 또는 "종속성 관리자"라는 문구를 접했을 수 있습니다. Maven은 모든 것을 할 수 있습니다. Maven 덕분에 인터넷에서 필요한 라이브러리를 검색하고 다운로드한 다음 프로젝트에 연결하는 데 많은 시간을 소비할 필요가 없습니다. 필요한 라이브러리를 Maven 종속성 목록에 추가하기만 하면 됩니다. 종속성은 종속성 XML 노드에 기록됩니다. 파일 작업을 단순화하기 위해 프로젝트에 Apache Commons IO 라이브러리가 필요하다고 가정해 보겠습니다. 라이브러리를 추가하려면 pom.xml에 다섯 줄을 작성하세요.
<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
이제 pom.xml은 다음과 같아야 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
그런 다음 IntelliJ IDEA가 종속성을 가져오도록 허용합니다(오른쪽 하단에 대화 상자가 나타납니다). 이제 라이브러리를 사용할 준비가 되었습니다.
import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
모든 후속 종속성 역시 <종속성> 태그 내에 작성되어야 합니다. <dependent> 태그 안에 라이브러리에 대해 포함해야 하는 정보가 무엇인지 어떻게 알 수 있는지 궁금할 것입니다. 여기에서는 모든 것이 간단합니다. 이러한 경우에는 항상 groupId, ArtifactId 및 version이라는 세 가지 매개변수가 지정됩니다. 이러한 매개변수는 두 가지 방법으로 찾을 수 있습니다.
  1. 도서관 홈페이지에서. Apache Commons IO가 필요한 경우 공식 웹사이트로 이동하여 종속성 정보 탭을 선택하세요. 필요한 모든 정보가 여기에 있습니다 . 간단히 복사하여 종속성 섹션에 추가하면 됩니다.

  2. Maven 저장소 에서 . 검색에 "apache commons io"를 입력하면 사용 가능한 모든 라이브러리 버전이 표시됩니다. 필요한 것을 선택한 후 다음을 복사하세요.

    <dependency>
               <groupId>commons-io</groupId>
               <artifactId>commons-io</artifactId>
               <version>2.6</version>
           </dependency>

    pom.xml에 추가하세요.

Maven 리포지토리 유형

Maven 저장소에 대해 다시 언급할 가치가 있습니다. 실제로 컴퓨터에 외부 (전역) 저장소와 로컬 저장소 두 개가 있기 때문입니다. 프로젝트에 추가하는 모든 라이브러리는 로컬 저장소에 저장됩니다. Maven이 프로젝트에 필요한 종속성을 추가하면 먼저 로컬 저장소에서 해당 라이브러리가 있는지 확인하고, 거기에서 찾지 못한 경우에만 외부 라이브러리로 전환합니다. 보시다시피 Maven을 사용하여 종속성을 추가할 수 있지만 그게 전부는 아닙니다.

Maven을 사용하여 Java 프로젝트 빌드

이 기능은 초보자에게는 무의미해 보일 수 있습니다. IDE가 있는 경우 이것이 왜 필요합니까? 하지만! 첫째, 애플리케이션을 구축해야 하는 서버에는 개발 환경뿐만 아니라 그래픽 인터페이스도 있을 수 있습니다. 둘째, 대규모 프로젝트에서 Maven은 프로젝트 조립 작업에 더 잘 대처합니다. 그러므로 기다리느라 괴로워하지 말고 Maven을 사용하여 애플리케이션을 구축하는 과정을 고려해 봅시다.

단계

애플리케이션을 구축하는 과정을 Maven 프로젝트의 라이프사이클이라고 하며 여러 단계로 구성됩니다. 오른쪽 상단에 있는 Maven>example>Lifecycle을 클릭하면 IDEA에서 이를 볼 수 있습니다. 4부. 메이븐 기초 - 5보시다시피 9단계가 있습니다.
  1. clean - 대상 디렉터리(완성된 아티팩트가 저장되는 위치)에서 모든 컴파일된 파일을 제거합니다.
  2. 유효성 검사 - 프로젝트 구축에 모든 정보가 사용 가능한지 확인합니다.
  3. 컴파일 - 소스 코드가 포함된 파일이 컴파일됩니다.
  4. 테스트 — 테스트가 시작됩니다.
  5. package - 컴파일된 파일이 패키지됩니다(jar, war 등의 아카이브로).
  6. 확인 - 압축된 파일이 준비되었는지 확인하기 위해 검사가 수행됩니다.
  7. install - 패키지가 로컬 저장소에 배치됩니다. 이제 다른 프로젝트에서 외부 라이브러리로 사용할 수 있습니다.
  8. 사이트 - 프로젝트 문서가 생성됩니다.
  9. 배포 - 수집된 아카이브가 원격 저장소에 복사됩니다.
모든 단계는 순차적으로 실행됩니다. 즉, 1~3단계가 완료될 때까지 네 번째 단계를 시작할 수 없습니다. 단계를 시작하는 방법에는 두 가지가 있습니다.
  • 명령줄을 통해:

    mvn 패키지

    4부. 메이븐 기초 - 6
  • Intellij IDEA를 사용하여:

    4부. 메이븐 기초 - 7

    패키지가 시작되기 전에 유효성 검사, 컴파일 및 테스트 단계가 수행됩니다. 깨끗한 단계는 예외입니다. 새로운 프로젝트를 빌드하기 전에 호출하는 것이 좋습니다. 단계는 공백으로 구분하여 나열할 수 있습니다.

    mvn 클린 패키지.

또한 각 단계 에는 배포 전, 배포 후, 정리 전, 정리 후 등 사전 및 사후 단계가 있지만 거의 사용되지 않습니다. 또한 각 단계에는 목표가 있습니다. 표준 목표는 기본적으로 포함되며 추가 목표는 Maven 플러그인에 의해 추가됩니다. 때로는 일부 단계에서 추가 기능을 수행해야 할 때도 있습니다. 이를 위한 Maven 플러그인이 있습니다. 공식 플러그인 목록은 Maven 웹사이트에서 찾을 수 있습니다 . 하지만 타사 리소스에서 찾을 수 있는 맞춤 플러그인이 여전히 많이 있다는 점을 알아두세요. 물론, 특별한 요구 사항이 있는 경우 언제든지 그러한 플러그인을 직접 작성할 수 있는 기회가 있습니다 .

플러그인

프로젝트에 Maven 플러그인을 추가하려면 종속성과 유사한 해당 설명이 pom.xml의 <build> 및 <plugins> 태그에 배치되어야 합니다. 예를 들어, 모든 외부 라이브러리가 최신 버전을 사용하고 있는지 확인하려면 플러그인이 필요합니다. 인터넷에서 조금만 검색하면 사용 지침과 함께 이 플러그인을 찾을 수 있습니다. groupId, ArtifactId 및 버전을 설정해 보겠습니다. 그가 어떤 목표를, 어떤 단계에서 달성해야 하는지 적어보자. 우리의 경우 현재 pom.xml의 종속성 검사는 유효성 검사 단계로 설정되어 있습니다. 이제 우리의 "메모리"는 다음과 같습니다:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <build>
       <plugins>
           <plugin>
               <groupId>com.soebes.maven.plugins</groupId>
               <artifactId>uptodate-maven-plugin</artifactId>
               <version>0.2.0</version>
               <executions>
                   <execution>
                       <goals>
                           <goal>dependency</goal>
                       </goals>
                       <phase>validate</phase>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
우리는 여전히 프로젝트 작업을 계속할 수 있습니다. 하지만 Apache Commons IO 버전을 2.0으로 변경하고 프로젝트 빌드를 시작해 보겠습니다. 우리는 다음을 얻습니다: [ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1] 여기에는 플러그인으로 인해 발생한 빌드 오류가 있습니다. 오류 메시지에는 버전 2.6을 사용할 수 있는데 버전 2.0을 사용하고 있다는 내용이 나와 있습니다. 일반적으로 Maven은 매우 유용한 도구입니다. 처음에는 사용하기 어려워 보일 수 있지만 연습하고 Maven에서 프로젝트를 생성하면 잠시 후 결과에 매우 만족하게 될 것입니다. 이 기사에서는 Maven에 대한 많은 세부 정보를 의도적으로 생략했습니다. 우리는 필수 사항에 집중했습니다. 하지만 완벽함에는 한계가 없습니다. 제품 공식 웹사이트에서 Maven에 대한 자세한 내용을 읽을 수 있습니다 . 5부. 서블릿. 간단한 웹 애플리케이션 작성 6부. 서블릿 컨테이너 7부. MVC(모델-뷰-컨트롤러) 패턴 소개 8부. 작은 스프링 부트 애플리케이션 작성
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION