前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Rainbond Java Maven 多模块源码构建

Rainbond Java Maven 多模块源码构建

作者头像
Rainbond开源
发布2019-08-28 16:43:21
8150
发布2019-08-28 16:43:21
举报

Maven 多模块项目构建识别策略

Maven 多模块项目是根据 pom.xml 文件(下面简称 pom)来划分的, Rainbond 对它的识别也是建立在 pom 的基础上的. 主要是识别出具体模块(module)的构建命令和启动命令. 构建命令的作用是指定需要构建的模块, 是类似于 "mvn install -pl 'module name' -am" 的 mvn 命令. 启动命令的作用是在构建完成后, 指定需要执行的 Jar 包, 是类似于 "web: java $JAVA_OPTS -jar *.jar" 的命令.

识别策略:

  1. 根据根 pom 中的 modules 中的 module 标签, 找到相应模块下的 pom.
  2. 如果 pom 中的 packing 标签的值是 jar(war), 则解析出当前 pom 对应的模块名和 jar(war)包名. packing 标签的值为空, 会认为是 jar.
  3. 模块名由名级父 pom 中的 module 标签的值组成, 用 "/" 分割, 类似于: rbd-worker/rbd-thirdparty.
  4. jar(war) 包名默认是 ${artifaceId}-*.jar(war). 如果设置了 finalName 标签, 则会使用 finalName 标签的值; 如果finalName 标签使用了变量${project.name}或${project.aritfactId}, 则会使用变量对应的值; 如果使用了其他的变量, 则直接用 * 代替, 即: *.jar(war).
  5. 如果 pom 中的 packing 标签的值是 pom, 且 modules 标签中的 module 多于 1, 则重复 1 ~ 5.

因为很多地方都使用了通配符 * , 在构建出来的 jar(war) 不只一个时, 识别出来的 jar(war) 包可能不能确定唯一的包; 又或者识别出来的 jar(war) 包有误, 这时候就需要用户手动进行修改.

多模块项目源码规范

因为 Rainbond 对 Maven 多模块项目的识别是建立在 pom 的基础上的, 所以大家在书写的 pom.xml 文件, 符合 pom 的规范就好. pom 的规范请参考: POM Reference

案例

这里以SPRING CLOUD 微服务部署在 RAINBOND 的案例一文中的Pig项目中Java源码部署部分为例,一次性多模块部署Pig项目(其他依赖如Mysql默认安装好)。

模块构建

新建应用,并命名为 spring-cloud

获取项目克隆/下载地址:https://gitee.com/log4j/pig.git

    1. 从源码创建,选择自定义源码,填写项目地址
    1. 如果是多模块项目会识别出来,选择进入多模块构建配置项
    1. 根据Spring Cloud 微服务部署在RAINBOND的案例一文可知如下组件需要部署运行, 勾选后构建
    1. 构建完成效果图(仅Java部分)
    1. 查看某一应用构建源信息

这样Pig项目多模块构建就完成了,后续其他步骤参考SPRING CLOUD 微服务部署在 RAINBOND 的案例

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rainbond 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Maven 多模块项目构建识别策略
  • 多模块项目源码规范
  • 案例
    • 模块构建
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档