`
hrtc
  • 浏览: 54633 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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下的任何文件或目录都会被包含在输出中,记住这个规则你可以为你的站点添加任意资源。

 

未完待续

分享到:
评论

相关推荐

    Better Builds With Maven.pdf

    《Better Builds With Maven》是一本针对Maven 2.0的实用指南,由Maven核心团队成员John Casey、Vincent Massol、Brett Porter、Carlos Sanchez以及Jason Van Zyl共同撰写。本书深入浅出地介绍了如何利用Maven 2.0来...

    Better Builds With Maven2源码及教程

    《Better Builds With Maven2》是一本专注于Maven2构建工具的...通过学习《Better Builds With Maven2》和实践提供的源代码,开发者可以熟练掌握Maven2的使用,从而提高开发效率,确保项目的构建过程更加稳定和高效。

    Better builds with Maven2

    本资源"Better builds with Maven2"旨在深入探讨Maven2的使用,帮助开发者提高构建效率,优化项目流程。 首先,Maven2的核心概念是基于项目对象模型(Project Object Model,POM)。POM是一个XML文件,包含了项目的...

    Better Builds with Maven

    通过阅读《Better Builds with Maven》这本书,你可以学习到如何设置Maven环境,编写POM文件,理解生命周期和构建目标,以及如何有效地利用Maven解决项目中的各种问题。此外,书中还可能涵盖了一些高级主题,如...

    BetterBuildsWithMaven

    通过学习《BetterBuildsWithMaven》,初学者不仅能了解 Maven 的基本操作,还能深入理解 Maven 如何简化软件项目的构建和管理,提高开发效率。同时,书中可能还涉及到了 Maven 的最佳实践、问题排查以及与其他工具...

    Better Builds With Maven

    《Better Builds with Maven》这本书是由Maven的核心开发团队成员John Casey、Vincent Massol、Brett Porter、Carlos Sanchez和Jason van Zyl共同编写的,旨在帮助读者更好地理解和使用Maven2。 #### 二、Maven2的...

    Better builds with Maven2源代码

    总结,"Better builds with Maven2源代码"提供了深入学习Maven2的机会,通过对源代码的研究,开发者可以提升对Maven2的理解,从而更高效地管理和构建项目。通过掌握Maven2的精髓,我们可以创建出更加稳定、可维护的...

    Better Builds with Maven.pdf

    《Better Builds with Maven》是一本针对Maven 2.0的实用指南,由John Casey、Vincent Massol、Brett Porter、Carlos Sanchez和Jason van Zyl等经验丰富的开发者共同编写。本书旨在帮助开发人员更好地理解和掌握...

    Better Builds With Maven 2

    3. **项目信息管理**:Maven支持文档生成、报告和站点创建等功能,有助于项目团队更好地共享信息和文档。 4. **插件系统**:Maven拥有一个丰富的插件生态系统,涵盖了从单元测试到打包部署等多种功能。开发者可以...

    maven学习资源整理

    这本书是Maven的另一经典之作,英文原版为“Better Builds with Maven”。作者详细阐述了如何使用Maven提高软件构建的质量和效率,强调了Maven在自动化测试、持续集成和项目治理中的作用。书中的案例和实践建议对...

    maven2教程和源码

    提供的文件 `betterbuildswithmaven-2008.pdf` 可能是一本关于 Maven2 的指南,它可能详细介绍了如何使用 Maven 提升构建效率,包括最佳实践、高级配置和插件的使用方法。这本书可能会涵盖如何解决依赖冲突、优化...

    maven2教程,适合所有人看的

    在《Better builds with Maven2.pdf》这本书中,你将更详细地了解到如何配置POM,如何使用Maven的命令行工具,如何解决依赖冲突,以及如何自定义构建流程等实用技巧。通过学习,无论是新手还是经验丰富的开发者,都...

    maven 简单使用教程

    - Better Builds with Maven:一本免费电子书,提供更深入的Maven使用指南。 2. Maven与Ant的区别: - Maven采用声明式配置,避免了Ant中的复杂脚本编写。 - Maven提供了一种标准的构建生命周期,包括清理、编译...

Global site tag (gtag.js) - Google Analytics