2011-06-29 48 views
1

我想創建一個網站的形式與Maven 網站目標生成幾個Maven項目的概述。這些項目是不同產品的一部分,一些有親子關係,一些有依賴關係。如何從無關項目中生成組合的Maven網站?

該網站應該結合來自所有項目的信息,包括JavaDoc,Checkstyle/PMD檢查,測試結果和代碼覆蓋率指標。

我已經創建了一個POM文件,它將每個現有項目作爲一個模塊進行聚合,每個項目在子文件夾中可用,但輸出不會合併到一個站點中。

回答

2

您可以通過將所有項目中的project.build.directory設置爲公用文件夾來實現此目的。這可以通過將路徑作爲參數傳遞給構建來完成。然後,您可以在公共目標文件夾上運行網站目標。如果您在持續集成環境中運行maven,則可以通過在maven任務中設置targetpath來完成此操作。否則,你將不得不在命令行中指定它。

保持製作方式是相同的開發者,你可以創建時targetpath不是由命令行提供被激活的配置文件。

<profiles> 
    <profile> 
    <id>dev</id> 
    <activation> 
     <property> 
     <name>!targetpath</name> 
     </property> 
    </activation> 
    <properties> 
     <targetpath>target</targetpath> 
    </properties> 
    </profile> 
</profiles> 
+0

這會生成一個包含組合Javadoc但不包含Checkstyle報告的網站。我爲每個單獨的項目創建了一個/ target/site文件夾。明天我會檢查單獨的項目POM的配置。 – Kwebble

+0

我無法讓它工作。網站插件的文檔沒有提及設置。 – Kwebble

+0

inputDirectory用於'site:deploy'或'site:stage'目標。 'site:site'應該建立$ {targetpath}/$ {artifactId}下的網站,然後'site:stage'應該將它們複製到一個公共位置。 –