In Maven, um die zusätzlichen -sources
und -javadoc
Artefakte zu erhalten, fügen Sie folgendes zu Ihrem POM-Datei:
<build>
<plugins>
<!-- additional plugin configurations, if any.. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Hinweis das Snippet oben:
Executing
mvn clean package
Sie werden diese zwei weitere Gläser in den target
Ordner.
Die .pom
Datei stattdessen während der install
Phase erzeugt wird, aber es wird nicht unter dem target
Ordner abgelegt. Grundsätzlich ist es eine Kopie Ihrer pom.xml
Datei mit einer anderen Erweiterung, die Maven während des Abhängigkeitsvermittlungsprozesses verwendet, um zu überprüfen, welche transitiven Abhängigkeiten vom betreffenden Artefakt benötigt werden.
Executing
mvn clean install
Maven wird das Artefakt in Ihrem lokalen Cache (in der Maschine), unter path_to_cache/.m2/repository/your_groupId/your_artifactId/your_version/
installieren. In diesem Ordner finden Sie auch die Datei .pom
, die Sie normalerweise nicht verteilen müssen (sie wird automatisch von Maven erstellt).
Weitere Anmerkung: Sie wollen wahrscheinlich nicht diese zusätzlichen JAR-Dateien an jedem und jedem Build zu erzeugen, so baut sich normal zu beschleunigen und sie über nur auf Nachfrage, könnten Sie den Code-Schnipsel wickeln in einem Maven profile .
Sie können dies erreichen, indem Sie den Code-Schnipsel oben aus Ihrem build
Abschnitt zu entfernen und einen weiteren Abschnitt am Ende Ihres pom hinzu:
<profiles>
<profile>
<id>prepare-distribution</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
dass also normale baut diese Gläser nicht mehr schaffen würde, aber bei der Ausführung die folgenden:
mvn clean install -Pprepare-distribution
Sie würden sie stattdessen zurückbekommen. Die Option -P
aktiviert tatsächlich bei Bedarf das mit der ID prepare-distribution
definierte Profil.
Mit Maven 3 ein Standardprofil kommt bereits als Teil der super pom, die exakt die gleichen Aktionen (Quellen und javadoc Artefakt), also keine Notwendigkeit, etwas zu Ihrem bestehenden Projekt hinzuzufügen. Führen Sie einfach:
mvn clean install -Prelease-profile
Oder um es zu aktivieren über eine Eigenschaft
mvn clean install -DperformRelease=true
jedoch, wie auch in dem Super-pom angegeben, kann dieses Profil in zukünftigen Versionen entfernt werden (obwohl es seit dem ersten Maven Version bis Version 3.3.9 bisher)
HINWEIS: Das Freisetzungsprofil wird von zukünftigen Versionen von entfernt werden die Super POM
Der Hauptgrund für diese Warnung ist, höchstwahrscheinlich für die Nutzung der Maven Release Plugin zu schieben, die Verwendung dieses Profils über die useReleaseProfile
Option des release:perform
Ziels indirekt macht.
Wie Kommentare hervorgehoben, wenn Sie mit Maven (vor allem über die Konsole) nicht vertraut sind, würde ich empfehlen, auf jeden Fall zu
- Go über die offizielle Maven in 5 minutes Dokumentation für eine schnelle, aber würdig aussehen.
- Spielen Sie mit Maven von der Kommandozeile, gibt es dort, wo Maven Ihnen sein Bestes gibt. IDE-Integrationen sind großartig, aber die Befehlszeile ist der wahre Wendepunkt.
- Spielen Sie dann mit der obigen POM-Anpassung, um sich mit einigen Konzepten und Verhaltensweisen vertraut zu machen, zuerst direkt als Teil Ihres Standard-Builds und dann in ein Profil verschoben.
- Dann, und nur dann, bewegen Sie sich zu Maven Release Plugin Verwendung. Ich empfehle es als letzten Schritt, weil Sie bereits mehr Vertrauen und Verständnis gewonnen hätten und es als weniger magisch und vernünftiger betrachten.
In Maven würden Sie das 'javadoc' und' sources' Plugin verwenden. –
Es tut mir leid, ich kenne Maven nicht. –
Sie multi-tagged Maven und SBT. Sie müssen Details zu Ihrem Build angeben, damit wir geeignete Änderungen empfehlen können. – chrylis