Ich benutze Maven Release-Plugin für die Generierung der Freigabe meines Projekts. Ich möchte Javadoc nicht alle Zeit generieren, die ich baue. Auf der anderen Seite, wenn ich release: perform anrufe, möchte ich, dass maven sources.jar und javadoc.jar generiert und es in das maven release repository deployen würde. Nur weil ich neugierig bin, wie die Bereitstellung von source.jar deaktiviert werden kann, da es so aussieht, als ob es standardmäßig bereitgestellt wird.Maven Release Plugin Bereitstellung von sources.jar und javadoc.jar
4
A
Antwort
10
Verwenden Sie die releaseProfiles Parameter (Beispiel: src,javadoc
) auf einem oder mehr Profile zu drehen, und in diesen Profilen, um die Quelle und javadoc Generation definieren:
<profiles>
<profile>
<id>src</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>javadoc</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>verify</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
10
Aus der Dokumentation von Maven Release Plugin gibt es einen useReleaseProfile
Parameter, der Whether to use the release profile that adds sources and javadocs to the released artifact, if appropriate
bestimmt. Dies ist standardmäßig true
. Sie können versuchen, dies entsprechend zu ändern, um source/javadocs zu aktivieren/deaktivieren.
Interessant, dass es nur mit der Plugin-Version 2.1 funktioniert . Sie müssen also sagen: mvn org.apache.maven.plugins: maven-release-plugin: 2.1: vorbereiten, da mit der Standardversion 2.0.beta8 nicht mit dem Argument -releaseprofiles funktioniert. –