Maven创建构建测试工程、快照、自动化构建部署

如何创建一个maven工程,如何使用archetype插件,快照是什么?快照与版本的区别?如何快速集成?如何自动化从svn等版本管理工具上获取并部署?那接下来就看一下这篇文章吧

Maven 使用原型(archetype)插件创建工程,我们将使用 maven-archetype-quickstart 插件。

mvn clean package
– 我们给了 maven 两个目标,首先清理目标目录(clean),然后- 打包工程构建的输出为 jar(package)文件。
– 打包好的 jar 文件可以在 consumerBanking\target 中获得,名称为 consumerBanking-1.0-SNAPSHOT.jar。
– 测试报告存放在 consumerBanking\target\surefire-reports 文件夹中。
– Maven 编译源码文件,以及测试源码文件。
– 接着 Maven 运行测试用例。
– 最后 Maven 创建工程包

外部依赖

  • 外部依赖(library jar location)能够像其他依赖一样在 pom.xml 中配置。
  • 指定 groupId 为 library 的名称。
  • 指定 artifactId 为 library 的名称。
  • 指定作用域(scope)为系统。
  • 指定相对于工程位置的系统路径。

工程文档

mvn site 创建应用程序的文档

快照

快照是一个特殊版本,表示当前开发的一个副本。Maven每一次构建从远程仓库中检出一份新的快照

快照与版本
Maven一旦指定了版本,将不会尝试从仓库下载。
对于快照,则可以每次获取最新快照

构建自动化

构建自动化定义为一种场景:一旦该工程成功构建完成,其相关的依赖工程即开始构建,目的是为了保证其依赖项目的稳定。

假设app-web-ui 和 app-desktop-ui依赖 bus-core-api,我们有 2 种方式:

  • 在 bus-core-api 的 pom 文件里添加一个编译目标来提醒 app-web-ui 工程和 app-desktop-ui 工程启动创建。
  • 使用一个持续集成(CI)的服务器,比如 Hudson,来实现自动化创建。

bus-core-api


4.0.0
bus-core-api
bus-core-api
1.0-SNAPSHOT jar
http://www.svn.com
scm:svn:http://localhost:8080/svn/jrepo/trunk/
Framework

scm:svn:${username}/${password}@localhost:8080:
common_core_api:1101:code




Core-API-Java-Release
Release repository
http://localhost:8081/nexus/content/repositories/
Core-Api-Release



org.apache.maven.plugins
maven-release-plugin
2.0-beta-9

false
deploy
[bus-core-api-release-checkin]-<
/scmCommentPrefix>

检查本地是否存在还未提交的修改
确保没有快照的依赖
改变应用程序的版本信息用以发布
更新 POM 文件到 SVN
运行测试用例
提交修改后的 POM 文件
为代码在 SVN 上做标记
增加版本号和附加快照以备将来发布
提交修改后的 POM 文件到 SVN.
`
mvn release:perform 将代码切换到之前做标记的地方,运行 Maven 部署目标来部署 WAR 文件或者构建相应的结构到仓库里

0条留言