ApacheMaven: 빌드 프로파일 사용

10817 단어 maven
이 문서에서 Maven 구축 개요를 살펴보겠습니다.개요 파일을 구축하는 것은 항상 과소평가되지만, 그것들은 많은 기능을 가지고 있기 때문에, 우리는 그것의 일부 기능을 연구할 것이다.우리는 그것을 어떻게 사용합니까?우리는 어떻게 구축 개요 파일을 이용하여 구축을 더욱 유연하게 합니까?

2. Maven 구축 개요 개요
프로파일의 기능은 특정 상황에서만 기본 POM을 수정할 수 있는 기능에서 비롯됩니다.프로파일은 기본값을 설정하거나 덮어쓰는 옵션 값 집합입니다.

2.1 구성 파일을 사용하는 이유
  • 프로필은 특정 환경(개발, 테스트 및 생산)을 위한 맞춤형 구축을 허용합니다.
  • 프로필은 서로 다른 구축 환경 간의 이식 가능성을 촉진시켰다.
  • 운영 체제 JDK 기반의 다양한 구축이 필요한 경우에도 사용할 수 있습니다.
  • 특정 플러그인 활성화
  • 대체 구축 시 구성 값 제공

  • 2.2 선언 프로파일
    다음 방법 중 하나를 사용하여 구성 파일을 생성할 수 있습니다.
  • pom에 있습니다.xml (서로 다른 컴퓨터 사이에서 이식 가능한 구축을 원할 때 사용하십시오)
  • <user-home>/.m2/settings.xml에 명시된
  • (많은 프로젝트에 프로필을 사용하려면 이 옵션을 사용하십시오)

  • 3. 간단한 예
    이 예는pom에서 개요 파일을 어떻게 설명하고 이용하는지 보여 준다.xml 파일.<profile> 요소에 다음과 같은 개요 파일을 설명합니다.
    <profiles>
    
            <profile>
                <id>prod</id>
                <build>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <version>2.22.2</version>
                            <configuration>
                                <skipTests>true</skipTests>
                            </configuration>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-compiler-plugin</artifactId>
                            <version>3.8.1</version>
                            <configuration>
                                <debug>false</debug>
                            </configuration>
                        </plugin>
                    </plugins>
                </build>
            </profile>
    
            <profile>
                <id>itTest</id>
                <build>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-failsafe-plugin</artifactId>
                            <version>2.22.2</version>
                            <executions>
                                <execution>
                                    <goals>
                                        <goal>integration-test</goal>
                                        <goal>verify</goal>
                                    </goals>
                                    <configuration>
                                        <includes>
                                            <include>**/*IT.java</include>
                                        </includes>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </build>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
            </profile>
    
        </profiles>
    
    이 코드는 두 개의 프로필:prod (생산) 과 itTest (통합 테스트) 를 설명하고, 생산과 통합 테스트에 사용할 플러그인을 설명하고 설정합니다. (물론 이것은 프로필을 설명하는 간단한 예일 뿐입니다. 건장한 프로필로 보지 마십시오.)이제 각 구성 파일에는 <id> 요소가 있어야 합니다.기본적으로 prod profile은 활성 상태가 아니며 itTest profile은 활성 상태입니다.
    활성 프로파일을 보려면 다음 명령을 실행합니다.
    mvn help:active-profiles
    
    다음 방법 중 하나를 사용하여 활성화할 수 있습니다(여러 옵션).
  • 명령행 매개변수 사용
  • 설정 중입니다.<activeProfiles> 요소
  • 의 xml
  • <activeByDefault>소자
  • 내 사용<profile>소자
  • JDK 버전 기반 활성화, 운영 체제
  • 존재하거나 분실된 파일
  • 환경 변수

  • 3.1 명령행
    명령줄 - P 옵션을 사용하여 프로필을 활성화할 수 있습니다. 예를 들어, 패키지 단계까지 기본 생명주기를 실행하고,prod를 활성 프로필로 합니다.
    이 명령을 실행하면 테스트가 실행되지 않았음을 알 수 있습니다. 이 버전에서 이 명령을 건너뛰었고, 컴파일러 플러그인에서 <debug> 요소를 "true"로 설정하여 컴파일된 클래스 파일에 디버깅 정보를 포함하지 않도록 합니다.
    mvn package -P prod
    
    느낌표(!)를 사용하여 구성 파일을 비활성화할 수 있습니다.또는 대시(-), 예를 들어 itTest 프로필을 비활성화합니다(기본적으로 itTest는 활성화 상태로 설정되어 있음).
    mvn verify -P -itTest
    
    이 명령은 itTest 구성 파일을 비활성화하므로 통합 테스트를 실행하지 않습니다.

    3.2 설정xml
    설정에서 프로파일을 활성화할 수 있습니다.xml/Users/<user-home>/.m2 아래에 위치), <activeProfiles\> 요소를 사용합니다.예를 들어, prod profile을 활성화합니다.구성 파일을 활성화하면 단위 테스트가 건너뛰고 바이트 코드에 디버깅 정보가 없습니다.
    <activeProfiles>
        <activeProfile>prod</activeProfile>
    </activeProfiles>
    

    3.3 요소
    프로필을 활성화하는 또 다른 유용한 방법은pom에서 <activeByDefault\> 요소를 사용하는 것입니다.xml.itTest 구성 파일에서 기본적으로 활성화되어 있습니다.
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    

    3.5 OS 설정
    운영 체제에 기반한 구성 파일 구성을 활성화하려면 <os> 요소를 사용합니다.나는 이전에 이 기능을 사용한 적이 없지만, 나는 그것이 매우 좋을 것이라고 알고 싶다.시스템이 윈도우즈 XP인 경우 이 윈도우즈 구성 파일을 트리거합니다.
    <profile>
        <id>windows</id>
        <activation>
            <os>
                <name>Windows XP</name>
                <family>Windows</family>
                <arch>x86</arch>
                <version>5.1.2600</version>
            </os>
        </activation>
    </profile>
    

    3.6 파일
    파일의 존재 또는 존재하지 않는 활성 프로파일을 기반으로 하려면 <file> 요소를 사용합니다.예를 들어, 데이터가 있는 경우 이 프로파일은 활성 상태가 됩니다.ql가 존재합니다. 프로필이 존재하지 않으면 활성화되지 않습니다.
    <profile>
        <id>file-present</id>
        <activation>
            <file>
                <exists>target/resources/data.sql</exists>
            </file>
        </activation>
    </profile>
    

    3.7 환경 변수
    환경 변수를 기반으로 개요 파일 구축을 활성화하려면 <property> 요소를 사용하십시오.예를 들면 다음과 같습니다.
    <profile>
        <id>test</id>
        <activation>
            <property>
                <name>env.FOO</name>
                <value>test</value>
            </property>
        </activation>
    </profile>
    
    값 "test"로 시스템 속성 "FOO"를 지정하면 테스트 프로필이 트리거됩니다.프로필을 터치하려면 환경 변수 'FOO' 를 만들고 그 값을'test '로 설정하십시오.

    4. 결론
    이 문서에서는 Maven 개요 파일을 간략하게 설명하고, 이를 사용하는 이유, 선언하는 방법, 활성화하는 방법에 대해 설명합니다.다음 글에서는 Maven을 살펴보고 핵심 Java를 다룹니다.기대해주세요!
    아래의 댓글에서 당신의 생각을 알려주세요. 공유하는 것을 잊지 마세요!

    좋은 웹페이지 즐겨찾기