读书笔记-《Maven实战》

第一章:Maven简介

没有人会抵触优秀的技术,除非缺乏文档、学习成本高。

构建(build):包括编译、单元测试、文档生成、打包、部署等。

Maven是构建工具、依赖管理工具、项目信息管理工具。

Make和Ant是过程式的,Maven是声明式的;Make不易实现跨平台构建,Ant没有依赖管理。

第二章:Maven的安装和配置

 

第三章:Maven使用入门

 

第四章:背景案例

 

第五章:坐标和依赖

 

第六章:仓库

 

第七章:生命周期和插件

 

第八章:聚合与继承

 

第九章:使用Nexus创建私服

 

第十章:使用Maven进行测试

跳过,学习意义不大,对小公司来说时间成本过高,不如直接按照测试用例文档进行自测,大公司在自测后会有单独的测试环境和测试团队来进行测试。

第十一章:使用Hudson进行持续继承

持续集成(Continuous Integration)快速高频率自动构建项目的所有源码,并为项目成员提供丰富的反馈信息。

持续集成示例

集成的步骤

- 持续编译。与版本控制系统(如Git)集成,自动触发编译。

- 持续数据库集成

- 持续测试

- 持续审查。与代码检查系统集成。

- 持续部署

- 持续反馈

集成的好处:尽早暴露问题、减少重复操作、简化项目发布、建立团队信息。

第十二章:使用Maven构建Web应用

跳过,与主流的 Spring Boot 的项目骨架脱节太多。

第十三章:版本管理

跳过。

第十四章:灵活的构建

Maven属性:内置属性、POM属性、自定义属性、Settings属性、Java系统属性、环境变量熟悉。

自定义Maven属性:变量定义在<properties>标签里,然后通过${}调用。

使用示例:将Spring的版本抽象出来统一管理;聚合项目中子模块直接调用父的groupId和version。

profile示例(开发环境的数据库配置)(可写在POM、Settings):

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <db.driver>com.mysql.jdbc.Driver</db.driver>
            <db.url>jdbc:mysql://localhost:3306/test</db.url>
            <db.username>dev-username</db.username>
            <db.password>dev-password</db.password>
        </properties>
    </profile>
</profiles>

激活profile

- 命令行激活。在命令行尾部加上 -Pdev。

- Settings文件显示激活。

<settings>
    <activeProfiles>
        <activeProfile>dev</activeProfile>
    </activeProfiles>
</settings>

- 系统属性激活。本质上和命令行激活一样。

- 操作系统环境激活。(这个方法应该是最常用的,服务器和开发机OS一般都是不一样的)

<profiles>
    <profile>
        <activation>
            <os>
                <name>Windows XP</name>
                <family>Windows</family>
                <arch>x86</arch>
                <version>5.1.2600</version>
            </os>
        </activation>
    </profile>
</profiles>

- 文件存在与否激活。和上面的类似,在<activation>标签里配置<file>标签,<file>标签里配置<missing>标签或<exists>标签。

- 默认激活。和上面的类似,在<activation>标签里配置<activeByDefault>标签,且值为true。

命令行查看:通过$mvn help:all-profiles和$mvn help:active-profiles来查看所有profile和已激活的profile。

第十五章:生成项目站点

跳过,功能一般,用不到。

第十六章:m2eclipse

跳过,目前主流用IDEA。

第十七章:编写Maven插件

跳过,前人编写的插件能满足几乎100%的业务需求了,不用重复造轮子。

第十八章:Archetype

跳过,项目骨架不要标新立异,按照规范来,减少人员学习成本。

发布了25 篇原创文章 · 获赞 12 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_25498677/article/details/104109411