English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Maven 프로젝트 템플릿

Maven은 아키텍처(원형)를 사용하여 사용자 정의 프로젝트 구조를 생성하여 Maven 프로젝트 템플릿을 형성합니다.

이전 장에서 Maven이 다음 명령어를 사용하여 자바 프로젝트를 빠르게 생성하는 방법을 배웠습니다:

mvn archetype:generate

아키텍처는 무엇인가요?

아키텍처는 Maven 플러그인입니다. 정확히 말하면 프로젝트 템플릿입니다. 이는 템플릿에 따라 프로젝트 구조를 생성하는 역할을 합니다. quickstart 아키텍처 플러그인을 사용하여 간단한 자바 애플리케이션을 생성할 것입니다.

프로젝트 템플릿을 사용합니다

명령 프롬프트를 열고 C:\> MVN 디렉토리로 이동하여 다음 명령어를 실행하겠습니다:

C:\MVN> mvn archetype:generate

Maven이 시작되고 필요한 아키텍처를 선택하도록 요청합니다:

[INFO] 프로젝트 검색 중...
[INFO] 플러그인을 검색 중입니다: 전체명: '아키텍처'.
[INFO] -------------------------------------------------------------------
[INFO] Maven 기본 프로젝트 빌드 중
[INFO] 작업-섹션: [아키텍처 생성] (집계기)-스타일)
[INFO] -------------------------------------------------------------------
[INFO] 아키텍처 생성 준비 중
...
600: 원격 -> org.trailsframework:trails-archetype (-)
601: remote -> org.trailsframework:trails-보안-archetype (-)
602: remote -> org.tynamo:tynamo-archetype (-)
603: remote -> org.wicketstuff.scala:wicket-스칼라-archetype (-)
604: remote -> org.wicketstuff.scala:wicketstuff-스칼라-archetype 
스칼라와 웃켓을 결합한 프로젝트의 기본 설정:
웃켓에 따라-스칼라 프로젝트. 
예제 Spec 스펙 테스트를 포함합니다.)
605: remote -> org.wikbook:wikbook.archetype (-)
606: remote -> org.xaloon.archetype:xaloon-archetype-웃켓-jpa-글래스피쉬 (-)
607: remote -> org.xaloon.archetype:xaloon-archetype-웃켓-jpa-spring (-)
608: remote -> org.xwiki.commons:xwiki-commons-component-archetype 
(Make it easy to create a maven project for creating XWiki Components.)
609: remote -> org.xwiki.rendering:xwiki-rendering-archetype-macro 
(Make it easy to create a maven project for creating XWiki Rendering Macros.)
610: remote -> org.zkoss:zk-archetype-component (The ZK Component archetype)
611: remote -> org.zkoss:zk-archetype-webapp (The ZK wepapp archetype)
612: remote -> ru.circumflex:circumflex-archetype (-)
613: remote -> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-)
614: remote -> sk.seges.sesam:sesam-annotation-archetype (-)
Choose a number or apply filter 
(format: [groupId:]artifactId, 대소문자 구분): 203:

按下 입력 기본 옵션 선택 (203:maven-archetype-quickstart)。

Maven이 원형의 버전을 요청합니다

Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:

按下 입력 기본 옵션 선택 (6:maven-archetype-quickstart:1.1)

Maven이 프로젝트 세부 정보를 요청합니다. 요청된 세부 정보를 입력하세요. 기본 값 사용하려면 Enter 키를 누르세요. 또한, 자신의 값을 입력할 수 있습니다.

property 'groupId'의 값을 정의하세요: : com.companyname.insurance
property 'artifactId'의 값을 정의하세요: : health
property 'version'의 값을 정의하세요: 1.0-SNAPSHOT
property 'package'의 값을 정의하세요: com.companyname.insurance

Maven이 프로젝트 세부 정보를 확인하도록 요청합니다.}} 입력 또는 Y를 누르세요

프로퍼티 설정 확인:
groupId: com.companyname.insurance
artifactId: health
version: 1.0-SNAPSHOT
package: com.companyname.insurance
Y:

현재 Maven이 프로젝트 구조를 생성하기 시작합니다. 다음과 같이 보입니다:

[INFO] -----------------------------------------------------------------------
[INFO] 프로젝트 생성에 사용할 다음 파라미터: 
from Old(1.x) 아르키 타입: maven-archetype-quickstart:1.1
[INFO] -----------------------------------------------------------------------
[INFO] 파라미터: groupId, 값: com.companyname.insurance
[INFO] 파라미터: packageName, 값: com.companyname.insurance
[INFO] 파라미터: package, 값: com.companyname.insurance
[INFO] 파라미터: artifactId, 값: health
[INFO] 파라미터: basedir, 값: C:\MVN
[INFO] 파라미터: version, 값: 1.0-SNAPSHOT
[INFO] Old에서 프로젝트 생성된 아르키 타입:1.x) 아르키 타입 dir: C:\MVN\health
[INFO] -----------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] -----------------------------------------------------------------------
[INFO] 총 시간: 4 분 12 초
[INFO] 완료 시간: Fri Jul 13 11:10:12 IST 2012
[INFO] 최종 메모리: 20M/90M
[INFO] -----------------------------------------------------------------------

만든 프로젝트

현재 C:\ > MVN 디렉토리로 이동합니다. health라는 이름의 java 애플리케이션 프로젝트를看到一个名为 health의 java 애플리케이션 프로젝트를 볼 수 있습니다. Maven은 표준 디렉토리 레이아웃을 가진 프로젝트를 생성합니다. 다음과 같이 보입니다:

pom.xml을 생성하세요

Maven이 프로젝트에 자동으로 pom.xml 파일을 생성합니다. 다음과 같이:

<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>com.companyname.insurance</groupId>
  <artifactId>health</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>health</name>
  <url>http://maven.apache.org</url>
  <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
     <dependency>
     <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
     </dependency>
  </dependencies>
</project>

App.java

Maven이 자동으로 테스트의 java 파일 App.java를 생성합니다。

경로:C:\MVN\consumerBanking\src\main\java\com\companyname\bank

package com.companyname.insurance;
 
/**
* Hello world!
*
*/
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

AppTest.java

Maven은 자동으로 AppTest.java 파일을 생성합니다.

경로는 다음과 같습니다: C:\MVN\consumerBanking\src\test\java\com\companyname\bank

package com.companyname.insurance;
 
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
 
/**
* 단위 테스트를 위한 App의 테스트
*/
public class AppTest 
   extends TestCase
{
   /**
   * 테스트 케이스 생성
   *
   * @param testName 테스트 케이스 이름
   */
  public AppTest(String testName)
  {
      super(testName);
  }
 
  /**
  * @return 테스트되는 테스트 셋
  */
  public static Test suite()
  {
      return new TestSuite(AppTest.class);
  }
 
  /**
  * 정밀 테스트(Rigourous Test):-)
  */
  public void testApp()
  {
      assertTrue( true );
  }
}

이렇게 됐습니다. 지금 Maven의 강력함을 볼 수 있습니다. Maven의 간단한 명령어로 어떤 유형의 프로젝트든 만들 수 있으며, 개발을 시작할 수 있습니다.