Javadoc や テストレポートについては → Maven プロジェクトレポートの作成
MavenSiteExam/
├── LICENSE
├── README.md
├── nbactions.xml
├── pom.xml
├── sub1
│     ├── pom.xml
│     └── src
│         ├── main
│         │     └── java
│         │         └── com
│         │             └── example
│         │                 └── sub1
│         │                     └── Sub1App.java
│         └── test
│             └── java
│                 └── com
│                     └── example
│                         └── sub1
│                             └── test
│                                 └── Sub1AppTest.java
└── sub2
    ├── pom.xml
    └── src
        ├── main
        │     ├── java
        │     │     └── com
        │     │         └── example
        │     │             └── sub2
        │     │                 └── Sub2App.java
        │     └── resources
        └── test
            └── java
                └── com
                    └── example
                        └── sub2
                            └── test
                                └── Sub2AppTest.java
27 directories, 10 files
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>multi</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <modules>
        <module>sub1</module>
        <module>sub2</module>
    </modules>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <build>
        <plugins>
            <!-- Project Site -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.6</version>
            </plugin>
            <!-- Make JAR OSGi Bundle Ready -->
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>3.2.0</version>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Embed-Dependency>*;scope=compile</Embed-Dependency>
                        <Embed-Transitive>true</Embed-Transitive>
                        <Export-Package>
                            com.example.sub1.*,
                            com.example.sub2.*
                        </Export-Package>
                        <Import-Package>
                            !com.sun.*,
                            !junit.*,
                            *
                        </Import-Package>
                    </instructions>
                </configuration>
            </plugin>            
            <!-- Compiler -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                </configuration>
            </plugin>
            <!-- Coverage -->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.7.8</version>
                <executions>
                    <execution>
                        <id>prepare-agent</id>
                        <phase>test-compile</phase>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                        <configuration>
                            <propertyName>jacocoArgs</propertyName>
                            <includes>
                                <include>*</include>
                            </includes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <!--
                      update pom.xml  : $ mvn versions:use-latest-versions
                      show updatables : $ mvn versions:display-dependency-updates
                    -->
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                    <version>2.3</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.12</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>1.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <reporting>
        <excludeDefaults>true</excludeDefaults>
        <outputDirectory>${project.build.directory}/site</outputDirectory>
        <plugins>
            <!-- Project Info -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.9</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>index</report>
                            <report>dependencies</report>
                            <report>dependency-convergence</report>
                            <report>dependency-management</report>
                            <report>plugins</report>
                            <report>plugin-management</report>
                            <report>cim</report>
                            <!--
                            <report>issue-tracking</report>
                            <report>license</report>
                            <report>mailing-list</report>
                            <report>project-team</report>
                            <report>scm</report>
                            <report>summary</report>
                            -->
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <!-- Javadoc -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.10.4</version>
                <configuration>
                    <docencoding>${project.build.sourceEncoding}</docencoding>
                    <charset>${project.build.sourceEncoding}</charset>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <bottom>Copyright &copy; 2017 Snail Co. LTD.All Rights Reserved.</bottom>
                </configuration>
            </plugin>
            <!-- Source code -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>2.5</version>
            </plugin>
            <!-- Checkstyle -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.17</version>
                <configuration>
                    <!-- <configLocation>src/conf/Checkstyle_MyRule.xml</configLocation> -->
                    <excludes>**/test/*.java</excludes>
                </configuration>
            </plugin>
            <!-- Findbugs -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>3.0.4</version>
            </plugin>
            <!-- PMD -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>3.7</version>
            </plugin>
            <!-- Test -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.19.1</version>
                <configuration>
                    <forkCount>1</forkCount>
                    <reuseForks>true</reuseForks>
                    <argLine>${jacocoArgs} -Xmx768m</argLine>
                    <!-- you will be unhappy if trimStackTrace is true
                    when test fails during integration test and system test phase -->
                    <trimStackTrace>false</trimStackTrace>
                </configuration>
            </plugin>
            <!-- Coverage -->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.7.8</version>
            </plugin>
            <!-- NCSS (Code count) -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>javancss-maven-plugin</artifactId>
                <version>2.1</version>
            </plugin>
            <!-- TODO -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>taglist-maven-plugin</artifactId>
                <version>2.4</version>
            </plugin>
        </plugins>
    </reporting>
    <distributionManagement>
        <site>
            <id>${project.artifactId}-site</id>
            <url>${project.baseUri}</url>
        </site>
    </distributionManagement>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.example</groupId>
        <artifactId>multi</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <artifactId>sub1</artifactId>
    <packaging>bundle</packaging>
    <dependencies>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>sub2</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
</project><?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.example</groupId>
        <artifactId>multi</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <artifactId>sub2</artifactId>
    <packaging>bundle</packaging>
</project>   <distributionManagement>
       <site>
           <id>${project.artifactId}-site</id>
           <url>${project.baseUri}</url>
       </site>
   </distributionManagement>
をしている。site:stage で、親側の target/ に、子プロジェクトの site report が集められてる$ mvn clean jacoco:prepare-agent test site $ mvn javancss:report // re-run javancss:report to aggreage line counts. $ mvn site:stage // gather site htmls to parent projectこれだと、完璧な site report が得られる。ただし、親側の site report に Jacoco のカバレッジが集計されない (対策方法はないようだ)
$ mvn clean jacoco:prepare-agent test site site:stage親側の site report に諸々集計されない。ただし子側には集計される。また、上記コマンドを Jenkins で実行した場合には、Jenkins は諸々集計してくれる
| /src/site/site.xml | サイトの大枠(メニューやヘッダなど)を設定します | 
| /src/site/resources/images | イメージ | 
| /src/site/apt | 各ページの生成元(apt形式)を置きます | 
| /src/site/fml | 各ページの生成元(fml形式)を置きます | 
| /src/site/xdoc | 各ページの生成元(xdoc形式)を置きます | 
<?xml version="1.0" encoding="UTF-8"?>
<project name="${project.name}">
  <bannerLeft>
    <name>${project.name}</name>
    <src>./images/ipmsg.png</src>
    <href>http://hondou.homends.org/ipmaglet/</href>
  </bannerLeft>
  <body>
    <links>
      <item name="${project.name}" href="${project.url}"/>
      <item name="IPMSG" href="http://www.ipmsg.org/" />
      <item name="Project Amateras "
            href="https://sourceforge.jp/projects/amateras/" />
    </links>
    <menu name="Menu">
      <item name="Introduction" href="./index.html" />
      <item name="License" href="./license.html" />
      <item name="APT Example" href="./example.html" />
    </menu>
    <menu ref="parent" />
    <menu ref="modules" />
    <menu ref="reports" />
  </body>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.snail</groupId>
  <artifactId>Some Artifact</artifactId>
  <packaging>jar</packaging>
  <name>My Application</name>
  <version>1.0-SNAPSHOT</version>
  <description>プロジェクトの概要</description>
  <url>プロジェクトのURL</url>
  <prerequisites>
    <maven>2.0</maven>
  </prerequisites>
  <issueManagement>
    <system>案件管理システム</system>
    <url>案件管理システムのURL</url>
  </issueManagement>
  <ciManagement>
    <system>継続的結合システム(必要があればnotifierを定義可能)</system>
    <url>継続的結合システムのURL</url>
    <notifiers>
      <notifier>
        <address>メールアドレス</address>
        <sendOnError>true</sendOnError>
        <sendOnFailure>true</sendOnFailure>
        <sendOnSuccess>false</sendOnSuccess>
        <sendOnWarning>false</sendOnWarning>
        <type>Mail</type>
      </notifier>
      <notifier>
        <address>RSSのURL</address>
        <sendOnError>true</sendOnError>
        <sendOnFailure>true</sendOnFailure>
        <sendOnSuccess>true</sendOnSuccess>
        <sendOnWarning>true</sendOnWarning>
        <type>RSS</type>
      </notifier>
    </notifiers>
  </ciManagement>
  <inceptionYear>2009</inceptionYear>
  <mailingLists>
    <mailingList>
      <name>プロジェクトメーリングリスト</name>
      <subscribe>参加申込受付アドレス@foo.com</subscribe>
      <unsubscribe>配信停止申し込みアドレス@foo.com</unsubscribe>
      <post>投稿用メールアドレス@foo.com</post>
      <archive>メーリングリスト過去履歴確認サイトURL</archive>
      <otherArchives>
        <otherArchive>メーリングリスト過去履歴確認サイトURL(予備1)</otherArchive>
        <otherArchive>メーリングリスト過去履歴確認サイトURL(予備2)</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>
  <developers>
    <developer>
      <id>001</id>
      <name>おれ</name>
      <email>foo@bar.com</email>
      <url>http://www.foor.bar.com/</url>
      <organization>なんでも課</organization>
      <roles>
        <role>あれもやる</role>
        <role>これもやる</role>
        <role>それもやる</role>
      </roles>
      <timezone>+9</timezone>
    </developer>
  </developers>
  <!--  必要ならここに contributor を定義する -->
  <licenses>
    <license>
      <name>Apache License 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.html<url>
      <comments>上記のページがプロジェクトページに取り込まれます(日本語は文字化けする)</comments>
    </license>
  </licenses>
  <scm>
    <url>SCMのURL</url>
    <tag>安定バージョンのTag</tag>
    <connection>scm:svn:http://username:password@server_name/path_to_repository</connection>
    <developerConnection>scm:svn:http://username:password@server_name/path_to_repository</developerConnection>
  </scm>
  <build>
  ...(以下略)...
                                    ------
                                    Title(apt練習帳)
                                    ------
                                    Author(ほんどう)
                                    ------
                                    Date(何年何月何日)
  文章は、先頭にスペースを空けます。
  APT上では改行してもHTML上では連続した文章になります。
  空の改行行を入れると別のパラグラフになります。
  HTML上で改行する場合には、\
  行末に\\を書けば良いはずですが・・・うまくいかないようです。
行頭から書き始めるとセクションになります
* サブセクションは、先頭に*を書きます
** サブ-サブセクションは、先頭に**を書きます
*** サブ-サブ-サブセクションは、先頭に***を書きます
**** サブ-サブ-サブ-サブセクションは、先頭に****を書きます
      * リストはスペースで字下げしたあとに*を書きます
      * リストの中に文章を含めることができます
        空の改行を入れて、字下げした行はリスト配下の文書になります
            * 親リストからさらにスペースで字下げして*を書くとサブリストになります
            * サブリストの2項目目
      * リストを終えるためには字下げした[]を書きます
      []
+------------------------------------------+
文書を枠で囲むにはこんな感じにします
                            枠の中は<PRE>タグで囲まれています
+------------------------------------------+
------------------------------------------
+--の代わりに---を使うこともできます
                            枠の中は<PRE>タグで囲まれています
------------------------------------------
      [[1]] リストに番号をつける場合
            [[A]] Numbered item A.
                      
                  [[a]] Numbered item a.          
                  [[b]] Numbered item b.          
            [[B]] Numbered item B.
      [[2]] Numbered item 2.
            [[I]] Numbered item A.
                      
                  [[i]] Numbered item a.          
                  [[ii]] Numbered item b.          
            [[II]] Numbered item B.
      
      []
      [重要なポイント1] 1,I,A,i,a以外がリストに使われると黄色い四角で囲われます.
      [重要なポイント2] .
      
      []
画像
[./images/ipmsg.png] 画像の説明文はここに書きます
表
*------------*--------------+----------------:
| 右上が*なら| 右上が+なら  | 右上が:なら    |
| 中央寄せ   | 左寄せ       | 右寄せ         |
*------------*--------------+----------------:
| cell 2,1   | cell 2,2     | cell 2,3       |
*------------*--------------+----------------:
テーブルの表題はテーブル直下に書きます
  テーブルの左端と右端の"|"はなくてもいい。またテーブル表題(Caption)も無くてもいい。
*-----*------*
 cell | cell
*-----*------*
 cell | cell
*-----*------*
水平線
  水平線(\<HR\>)は = を 3つ以上連続で書く
=======================================================================
字体
  <Italic> font. <<Bold>> font. <<<Monospaced>>> font.
リンク
  * アンカー {anchor}.
  
  * アンカーへのリンク {{anchor}}. (現時点では、上手く生成されない(URLの先頭の#が抜けている))
  
  * URL直接指定リンク {{http://www.pixware.fr}}. 
    
  * 文字列をリンクにする {{{http://www.pixware.fr}Pixware home page}}.
APTで制御文字として使われている文字の表示
  Escaped special characters: \~, \=, \-, \+, \*, \[, \], \<, \>, \{, \}, \\.
  Copyright symbol: \251, \xA9, \u00a9.
コメントアウト
~~早くこのプロジェクトから抜けたい・・・(この文章はHTMLには出力されない)<html>
 <head>
   <title>ipmsglet - Title(apt練習帳)</title>
   <style type="text/css" media="all">
     @import url("./css/maven-base.css");
     @import url("./css/maven-theme.css");
     @import url("./css/site.css");
   </style>
   <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
         <meta name="author" content="Author(ほんどう)" />
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     </head>
 <body class="composite">
あれ?dateはどこ行った? mavenRepo0.png 2435件
[詳細]
mavenRepo0.png 2435件
[詳細]
  mavenSite1.png 3380件
[詳細]
mavenSite1.png 3380件
[詳細]
  mavenRepo1.png 2462件
[詳細]
mavenRepo1.png 2462件
[詳細]
  mavenSite2.png 3590件
[詳細]
mavenSite2.png 3590件
[詳細]
  example_apt.pdf 4783件
[詳細]
example_apt.pdf 4783件
[詳細]