2016-12-13 13 views
3

Maven 프로젝트 빌드를 실행하는 현재 활성 프로파일을 인쇄하려고합니다.Maven : 현재 프로필을 콘솔에 인쇄하는 방법?

현재 프로필을 참조하는 속성과 함께 콘솔에 메시지를 인쇄하기 위해 maven-antrun-plugin을 사용하고 있습니다.

${project.activeProfiles[0].id} 

${project.profiles[0].id} 

을하지만 두 경우 모두에서 변수를 해결하지 않고, 기록 된대로 "문자열을"인쇄 :

나는 다음과 같은 속성을 시도했다.

이 내 테스트입니다 :

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>generate-resources</phase> 
        <goals> 
         <goal>run</goal> 
        </goals> 
        <configuration> 
         <tasks> 
          <echo>current active profile: ${project.activeProfiles[0].id}</echo> 
         </tasks> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

그러나 이것은 내가 얻는 결과 :

main: 
[echo] current active profile: ${project.activeProfiles[0].id} 

어떤 제안을 이해할 수있을 것이다.

감사합니다.

+0

같은 것을 사용하는 이유는 프로필에 따라 달라, 특별히 할 하시겠습니까? – Tunaki

답변

2

maven-help-plugin은 필요한 것을 제공합니다. 목표는 active-profiles입니다.

pom에 추가하거나 명령 줄에서 호출 할 수도 있습니다 (빌드 호출에 포함 시키십시오). 빌드 중에 어떤 프로파일이 적용되는지 어떻게 알 수 있습니까? Maven profile introduction page 섹션에서 방법을 알려줍니다. 한마디로 :

내가 활성 프로파일 (하나 이상이 될 수 있습니다!) 생각하는 전파되지 않습니다이로

mvn help:active-profiles 
가 (주석 참조) 여기 당신을 위해 작동하지 않는 또 다른 솔루션입니다 available variables -하지만 속성은 있습니다.

그래서 프로필 섹션에서 사용자 정의 속성을 설정하고

<profiles> 
    <profile> 
     <id>default</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <properties> 
      <myProfile>default</myProfile> 
     </properties> 
    </profile> 
    <profile> 
     <id>debug</id> 
     <activation> 
      <property> 
       <name>debug</name> 
      </property> 
     </activation> 
     <properties> 
      <myProfile>debug</myProfile> 
     </properties> 
    </profile> 
</profiles> 

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>generate-resources</phase> 
        <goals> 
         <goal>run</goal> 
        </goals> 
        <configuration> 
         <tasks> 
          <echo>current active profile: ${myProfile}</echo> 
         </tasks> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
+0

예,하지만 이것은 제가 필요로하는 것이 아닙니다. 프로필을 기반으로 일부 작업을 수행하기 때문에 변수로 액세스하는 프로필을 인쇄하고 싶습니다. –

+1

내 업데이트를 살펴보십시오. – FrVaBe

+0

정확히, 이것이 내가 필요한 것입니다! 감사! –