本站已从Hexo迁移转到Hugo(Hugo自称是
The world’s fastest framework for building websites
)。Hugo是一个高效的静态网站生成器,它的生成速度比Hexo更快 (Hexo是真的慢),且使用Hugo在本地编辑完成保存时,会自动触发浏览器的即时刷新动作,编辑完成就能立即看到文章最终的整体效果,给人的体验感很不错。
梦回从前,前博客的传送门:https://fanlychie.github.io/
本站已从Hexo迁移转到Hugo(Hugo自称是
The world’s fastest framework for building websites
)。Hugo是一个高效的静态网站生成器,它的生成速度比Hexo更快 (Hexo是真的慢),且使用Hugo在本地编辑完成保存时,会自动触发浏览器的即时刷新动作,编辑完成就能立即看到文章最终的整体效果,给人的体验感很不错。
梦回从前,前博客的传送门:https://fanlychie.github.io/
一个项目从开发到最后发布上线,通常需要在多套不同的环境经受反复的测试和验证,例如开发环境、测试环境、预生产环境、生产环境等。项目部署到不同的环境时,项目的配置通常也是不同的,例如数据库的数据源配置等。maven提供了一套
profiles
配置,开发者可以在项目POM文件中预先定义好若干个不同环境的profile
配置,项目可以根据不同的构建参数来动态选择其中的一个环境设置。这就意味着相同的一套项目代码,可以在构建时根据传入的不同环境参数打出不同环境的软件包来。这也是maven竭力保证的软件可移植性。
如果一个项目要迭代一个新的版本,特别是对于一些子模块数量较多的项目,那就需要手工的一个一个的去修改各个模块POM中的版本号信息,这显然不是一个最好的做法。Versions Maven Plugin可用于管理控制Maven多模块项目POM中的版本号信息。
以Nexus3搭建的Maven私服为例子,用管理员账户登录系统平台,并在管理控制台的配置面板中创建一个用于发布项目构件的账户(注:在Maven中,所有的依赖、插件、项目构建的输出,都可以称作是构件)。
Maven的生命周期是对项目所有的构建过程进行抽象和统一。它包含了项目的清理、初始化、编译、测试、打包、部署和站点生成等构建步骤。Maven的生命周期本质是定义项目构建的各个步骤,它本身是抽象的,并不作任何的具体工作,而是将构建过程中的各个步骤任务交个相对应的插件来完成。这使得Maven的生命周期具有良好的扩展性,开发者可以自己编写插件实现代码绑定到构建的某个步骤。当然,在绝大部分场景下,开发者不必这样来做,因为Maven初始为项目构建的各个步骤绑定了默认的插件。