在Maven中,爲了獲得額外的-sources
和-javadoc
文物,添加到您的POM文件如下:
<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>
注意片段上方:
執行
mvn clean package
你會發現在target
文件夾這兩個附加的罐子。
的.pom
文件,而不是被在install
相生成,但它是不target
文件夾之下。基本上,它是您的pom.xml
文件的副本,具有不同的擴展名,在依賴關係調解過程中由Maven使用,以檢查相關工件需要哪些傳遞依賴關係。
執行
mvn clean install
Maven將安裝神器在你的本地緩存(在你的機器),path_to_cache/.m2/repository/your_groupId/your_artifactId/your_version/
下。在這個文件夾中,你還會發現.pom
文件,通常你不需要分發(它是由Maven自動創建的)。
進一步注意:您可能不希望產生在每一個構建這些額外的jar文件,所以要加快建立正常的,讓他們只需求,你可以在一個Maven profile包裹上面的代碼段。
您可以從您的build
部分刪除上述片斷實現這一點,並在你的pom的末尾添加另一個部分:
<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>
使正常的構建不會再創建這些廣口瓶,但在執行時如下:
mvn clean install -Pprepare-distribution
你會讓他們回來。 -P
選項實際上是根據需要激活使用ID爲prepare-distribution
定義的配置文件。
與Maven 3默認的配置文件已經自帶作爲執行完全相同的動作(來源和javadoc神器)的super pom的一部分,因此無需任何添加到現有的項目。只需運行:
mvn clean install -Prelease-profile
或者,通過屬性來激活它
mvn clean install -DperformRelease=true
然而,正如在超級POM還規定,此配置文件可能會在未來的版本中被刪除(雖然因爲第一個Maven 版本,直到版本3.3.9至今)
注:釋放曲線將從未來的版本中刪除超級POM
此警告背後的主要原因是最有可能推動該Maven Release Plugin的使用,從而間接利用此配置文件的通過的release:perform
目標useReleaseProfile
選項。
所強調的意見,如果你不熟悉Maven的(特別是通過控制檯)我肯定會通過官方Maven in 5 minutes文檔快速,但值得看看推薦給
- 圍棋。
- 從命令行與Maven一起玩,Maven在哪裏給你最好的。 IDE集成很棒,但命令行是真正的轉折點。
- 然後玩上面的POM自定義,熟悉一些概念和行爲,首先直接作爲默認構建的一部分,然後移動到配置文件。
- 然後,只有這樣,才能使用Maven Release Plugin。我把它推薦爲最後一步,因爲你已經獲得了更多的信心和理解,並且認爲它不那麼神奇和更合理。
在maven中,您將使用'javadoc'和'sources'插件。 –
對不起,我對maven不熟悉。 –
您帶有多標籤的Maven和SBT。您需要提供有關您的構建的詳細信息,以便我們推薦適當的更改。 – chrylis