:
- 사용을
buid-helper-maven-plugin
기본 ${project.version} property and create a new
$를 {구문 분석의 regex-property
목표 만 .when.is.snapshot.used} 값이 true
이거나 ${project.version}
인 경우 SNAPSHOT
접미사를 찾았습니다.
- 구성은
maven-source-plugin
위와 같이 maven-javadoc-plugin
에 대해 같은이 실행
- 구성을 그
skipSource
옵션을 사용하고 여기에 새로운 (동적) ${only.when.is.snapshot.used} property: in case of snapshot it will have value
사실 hence skip the execution, otherwise will have value ${project.version} which will be used as
FALSE '를 전달하고, 따라서 건너 뛸 수없는 특별한 구성의 jar
목표를 실행합니다 그 skip
옵션
를 사용하는 방법의 예제는 위의 것 :
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.10</version>
<executions>
<execution>
<!-- sets the only.when.is.snapshot.used property to true if SNAPSHOT was used,
to the project version otherwise -->
<id>build-helper-regex-is-snapshot-used</id>
<phase>validate</phase>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>only.when.is.snapshot.used</name>
<value>${project.version}</value>
<regex>.*-SNAPSHOT</regex>
<replacement>true</replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>create-sources</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<!-- skip when version is SNAPSHOT -->
<skipSource>${only.when.is.snapshot.used}</skipSource>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<executions>
<execution>
<id>create-javadoc</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<!-- skip when version is SNAPSHOT -->
<skip>${only.when.is.snapshot.used}</skip>
</configuration>
</execution>
</executions>
</plugin>
즉, 프로필이 필요 없습니다.이 구성은 SNAPSHOT이 아닌 버전을 동적으로 사용하고 추가 구성 (명령 줄 옵션 또는 기타)을 사용하지 않을 경우에만 활성화됩니다.
측면 말씀 드리지만, 당신은 또한 효과적으로 소스와 javadoc의 플러그인을 호출하는
maven-release-plugin
에서 볼 수있는 경우에만
performing 위의 접근 방식의 추가 (작은) 복잡하지 않고 릴리스.
그렇지 않으면 할 수 간단한 사용 실제로 같은, 소스와 javadoc의 플러그인을 호출 할 것이며, true
가치를 재산 performRelease
설정을 통해 활성화 할 수 이는 Maven Super POM에서 나오는 기본 프로필. 하지만이 방법은해야,
mvn clean package -DperformRelease=true
또는
mvn clean package -Prelease-profile
그리고 당신은 자동으로 기본 슈퍼 프로필에서 혜택을 생성 된 소스와 javadoc는 단지이있을 것이다 : 즉, 다음과 같은 호출 할 수있는 Maven 프로젝트에,이다 이후 릴리스에서는 프로파일을 super pom에서 삭제할 수 있으므로 마지막 옵션으로 사용하십시오.
은 '건너 뛰기'옵션이있는 플러그인에 관한 추가 단계입니까? –
이제 추가 단계는 maven-source-plugin과 maven-javadoc-plugin입니다. – conteit86