Better Builds with Maven学习笔记3

3.10 创建应用程序的Web站点

    既然你已经经过了构建,测试,部署Proficio的过程,是时候让你看一下怎样为应用程序创建web站点。对于像Proficio的应用程序来说,建议在顶层目录创建源代码目录来存储资源以此生成web站点,这是默认的情况。如果你看一下,你将会发现如下的结构:
    proficio
    ----proficio-api
    ----proficio-cli
    ----proficio-core
    ----proficio-model
    ----proficio-stores
    --------proficio-store-memory
    --------proficio-store-xstream
    --------pom.xml
    ----src
    --------site
    ------------apt
    ----------------index.apt
    ------------fml
    ----------------proficio.fml
    ------------resources
    ----------------images
    --------------------flow.png
    ------------site.xml
    ----pom.xml
    生成web站点的所有东西都在src/site目录下。在src/site目录里每一种支持的文档格式都有有一个子目录和站点描述。Maven支持许多文档格式以提供各种各样的需求。
    目前为止,良好的支持如下:
        XDOC,一个简单的被Apache广泛使用的XML格式
        APT(Almost Plain Text),wiki-like格式,允许你快速输出简单的文档结构
        FML,FAQ格式,一个简单的管理FAQs的xml格式
        简单DocBook格式
    限制支持:
        Twiki格式,一种流行的Wiki标记格式
        汇合(Confluence)格式,另一种流行的Wiki标记格式
        DocBook格式
    在后面的章节我们会看一下几个支持良好的格式,但是你应该熟悉站点描述,使用如下配置
        配置banner外观
        为站点配置皮肤
        配置出版日期
        配置banner下的链接
        配置放置在<head/>元素中的额外信息
        配置在导航栏生成的菜单
        配置项目报告外观
    如果你看一下Proficio应用程序的src/site目录和其中的站点描述,你将看到如下:
    <project name="Proficio">
        <bannerLeft>
            <name>Proficio</name>
            <href>http://maven.apache.org/</href>
        </bannerLeft>
        <bannerRight>
            <name>Proficio</name>
            <src>http://maven.apache.org/images/apache-maven project.png</src>
        </bannerRight>
        <skin>
            <groupId>org.apache.maven.skins</groupId>
            <artifactId>maven-default-skin</artifactId>
            <version>1.0-SNAPSHOT</version>
        </skin>
        <publishDate format="dd MMM yyyy" />
        <body>
            <links>
                <item name="Apache" href="http://www.apache.org/"/>
                <item name="Maven" href="http://maven.apache.org/"/>
                <item name="Continuum" href="http://maven.apache.org/continuum"/>
            </links>
            <head><meta name="faq" content="proficio"/></head>
            <menu name="Quick Links">
                <item name="Features" href="/maven-features.html"/>
            </menu>
            <menu name="About Proficio">
                <item name="What is Proficio?" href="/what-is-maven.html"/>
            </menu>
            ${reports}
        </body>
    </project>
    这是一个相当标准的描述,你应该知道站点描述中每个元素的意思,如下:
        站点描述                元素描述
        bannerLeft和bannerRight        这个元素有一个name,href和可选的用于images的src子元素
        skin                和dependency的机制相似,用来配置站点皮肤
        publishDate            用SimpleDateFormat格式化日期
        body/links            定义在banner下的链接,每一项有一个name和href属性
        body/head            允许你在页面的head元素中插入任何东西。你可能会像加入metadata或者用来激活Google统计功能的script片段
        body/menu            控制在导航栏的菜单,你可以有任意多个菜单,每个菜单可以有任意多个连接
        body/${reports}            包含的${reports}引用控制是否显示站点报告。你可能会排除${reports}引用来形成一个干净的站点文档
   
    Maven的一个受欢迎的特征就是可以轻易的生成标准报告。你只要简单的在你的descriptor中包括${reports},站点报告就会自动显示。标准的项目信息报告由如下部分组成:
        依赖报告(Dependencies Report)
        邮件列表报告(Mailing Lists Report)
        连续累计报告(Continuous Integration Report)
        源码库报告(Source Repository Report)
        问题跟踪(Issue Tracking Report)
        项目团队报告(Project Team Report)
        许可(License)
    虽然标准报告是有用的,但是你可能想要自定义项目报告。报告创建和展示由POM中的build/reports元素控制。你可能想要关于报告更多的选择,要这样做你需要列出每个你想包括的站点生成部分的报告,你可以像下面这样配置插件:
    <project>
        [...]
        <reporting>
            [...]
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <reportSets>
                        <reportSet>
                            <reports>
                                <report>dependencies</report>
                                <report>project-team</report>
                                <report>mailing-list</report>
                                <report>cim</report>
                                <!--
                                Issue tracking report will be omitted
                                <report>issue-tracking</report>
                                -->
                                <report>license</report>
                                <report>scm</report>
                            </reports>
                        </reportSet>
                    </reportSets>
                </plugin>
            </plugins>
            [...]
        </reporting>
        [...]
    </project>
    配好了配置文件以后你就可以生成站点了,命令如下:
    mvn site
    究竟效果如何自己看一下生成的目录结构吧
    如果你有想把pdf或图片等资源引入到你的文档中,你可以使用src/site/resources来存储他们,当站点生成时src/site/resources中的内容将被处理。src/site/resources下的任何文件或目录都会被包含在输出中,记住这个规则你可以为你的站点添加任意资源。

 

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值