博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven构建自动化
阅读量:5838 次
发布时间:2019-06-18

本文共 4155 字,大约阅读时间需要 13 分钟。

构建自动化定义相关工程项目构建过程中,在当项目构建成功完成启动的情况下,来确保所依赖的项目是稳定的。

实例

考虑一个团队正在开发一个项目总线核心API上的其他两个项目的应用程序:网页UI和应用程序的桌面UI的依赖。

app-web-ui 项目使用1.0-SNAPSHOT总线核心API项目

4.0.0
app_web_ui
app_web_ui
1.0
jar
app_web_ui
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
bus_core_api
bus_core_api
1.0-SNAPSHOT
system
C:\MVN\bus_core_api\target\bus_core_api-1.0-SNAPSHOT.jar
复制代码

app-desktop-ui 项目使用总线核心API项目 1.0-SNAPSHOT

4.0.0
app-desktop-ui
app-desktop-ui
1.0
jar
bus-core-api
bus-core-api
1.0-SNAPSHOT
复制代码

bus-core-api 项目

4.0.0
bus-core-api
bus-core-api
1.0-SNAPSHOT
jar
复制代码

现在,每当bus-core-api项目的变化时,app-web-ui和app-desktop-ui项目团队需要自己编译过程。

使用快照确保可以使用最新的 bus-core-api 项目,但要满足上面我们需要做一些额外的要求。

  • 添加一个生成后的目标 bus-core-api POM的应用程序是在 app-web-ui 和 app-desktop-ui 的基础之上。

  • 使用持续集成(CI)的服务器自动管理构建自动化。

使用Maven

更新总线核心API项目pom.xml

4.0.0
bus-core-api
bus-core-api
1.0-SNAPSHOT
jar
maven-invoker-plugin
1.6
true
app-web-ui/pom.xml
app-desktop-ui/pom.xml
build
run
复制代码

让我们打开命令控制台,进入到C: /> MVN > bus-core-api目录,然后执行以下命令mvn命令。

C:/MVN/us-core-api>mvn clean package -U复制代码

Maven将开始构建项目bus-core-api。

[INFO] Scanning for projects...[INFO] ------------------------------------------------------------------[INFO] Building bus-core-api[INFO]    task-segment: [clean, package][INFO] ------------------------------------------------------------------...[INFO] [jar:jar {execution: default-jar}][INFO] Building jar: C:MVNus-core-ui	argetbus-core-ui-1.0-SNAPSHOT.jar[INFO] ------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ------------------------------------------------------------------复制代码

当 bus-core-api 构建成功,Maven将开始构建应用程序 app-web-ui

[INFO] ------------------------------------------------------------------[INFO] Building app-web-ui [INFO]    task-segment: [package][INFO] ------------------------------------------------------------------...[INFO] [jar:jar {execution: default-jar}][INFO] Building jar: C:MVNapp-web-ui	argetapp-web-ui-1.0-SNAPSHOT.jar[INFO] ------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ------------------------------------------------------------------复制代码

当 app-web-ui 构建成功,Maven将开始构建 app-desktop-ui 项目

[INFO] ------------------------------------------------------------------[INFO] Building app-desktop-ui [INFO]    task-segment: [package][INFO] ------------------------------------------------------------------...[INFO] [jar:jar {execution: default-jar}][INFO] Building jar: C:/MVN/app-desktop-ui	argetapp-desktop-ui-1.0-SNAPSHOT.jar[INFO] -------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] -------------------------------------------------------------------复制代码

使用Maven持续集成服务

使用CI服务器更适合作为开发人员,每次创建一个新的项目不需要更新 bus-core-api 项目的 POM,例如 app-mobile-ui 添加作为 bus-core-api 项目相关的项目。Hudson 自动管理使用 Maven 依赖管理构建自动化。

Hudson 认每个项目生成的工作。一旦一个项目的代码签入到SVN(或映射到哈德森任何源管理工具),哈德森开始它的构建工作,一旦这项工作得到完成,它会自动启动其他相关工作(其他相关项目)。

在上面的例子中,当bus-core-ui 源代码SVN更新,Hudson 开始它的构建。当构建成功,Hudson 自动查找相关的项目,并开始构建 app-web-ui 和app-desktop-ui 项目。

愿意了解框架技术或者源码的朋友直接求求交流分享技术:2042849237

分布式的一些解决方案,有愿意了解的朋友可以找我们团队探讨
更多详细源码参考来源:

转载地址:http://fqjcx.baihongyu.com/

你可能感兴趣的文章
VisualStudio自动编码插件(Autocode——devprojects.net)
查看>>
页面图片中间有条线----解决
查看>>
字面量理解
查看>>
Alwayson--与复制的影响
查看>>
使用kendynet构建异步redis访问服务
查看>>
mysql 权限设置
查看>>
迷你MVVM框架 avalonjs 组件编写指南
查看>>
【转】边缘连接
查看>>
AsyncTask源码分析
查看>>
Windows Phone开发(17):URI映射
查看>>
香港机柜云主机和虚拟主机建设完工
查看>>
redis终于有比较大的进展了,redis3.0.1 稳定版本发布,支持集群。
查看>>
Busybox支持中文的解决办法
查看>>
css3整理--clip
查看>>
我的第一个unity3d Shader, 很简单,基本就是拷贝
查看>>
VBA标准模块与类模块
查看>>
js图片延迟加载
查看>>
深入剖析 redis AOF 持久化策略
查看>>
Core Animation系列之CADisplayLink
查看>>
命名:前置条件方法命名规则。
查看>>