SOA面向服务架构打包部署

今天在公司打包部署SOA架构的项目。但是一直出现打包错误问题。现在记录下来

1、项目结构错误

原先的项目结构是:

parent Maven项目中聚合了三个maven子模块

原先:parent

                --common

                --manager

                            --pojo

                            --interface

                            --dao

                            --service     

                manager-web

其中common maven模块中是公共工具类。manager是一个聚合Maven.其中包括pojo 模块、interface模块、dao模块、service模块。manager-web 模块 是controller和静态文件(包括HTML、js、css等)

而且Maven打包插件是在父级中,即parent中。使用的是

b63e7cb0b9a1f12df70d13bf8172670ae9f.jpg

spring-boot-maven-plugin:是需要有main方法才可以进行打包。否则就会报错。异常信息就是缺少main方法

因为spring-boot-maven-plugin是在parent中。所以对于继承该项目的子项目。相对应的也使用了该插件。但是对于common子模块。和manager模块中的pojo、interface、dao都没有定义打包方式。所以在打包这些模块的时候就会报错

所以又对项目进行改造:

将common模块、manager模块、manager-web模块从parent中抽离出来。使这三个和parent同级。也就是parent不对这三个进行聚合。parent只对jar版本进行管理。

抽离出来后的项目结构

141b179d60ce34cbec4f7fbca3d1bc3f2f9.jpg

parent中不在包含子模块。再定义打包方式。对于没有main方法的模块进行正常的maven打包。

e70140bcb762cd2a2f89dd8d22fb21dc04f.jpg

使用tomcat7-maven-plugin进行打包

存在main方法的使用

03290c6ee7e5df4c8c2a4cef3c7515b4d2f.jpg

对于manager-web项目有一点需要注意

因为项目不是前后台分离。所以web中包含静态文件。需要使用maven-resources-plugin进行资源文件拷贝。这样在web模块的包时。静态资源文件也会打包进去。否则会出现Error resolving template [index], template might not exist的异常

854e43e6df2a3d6fc9f57808472c7cea16b.jpg

最后再说一下打包顺序:

1、对parent进行打包使用Run AS -->Maven install

2、对common模块进行打包使用Run AS -->Maven install

3、对manager模块进行打包使用Run AS -->Maven install

4、对manager-web模块进行打包使用Run AS -->Maven install

因为我使用的是springboot 所以pom文件中定义的都是jar。

打完jar包后。只需要将service和web两个jar包拉出来启动就好了。使用java -jar  jar名称或者创建一个.bat文件

java -jar jiyunbang-manager-web-0.0.1-SNAPSHOT.jar
pause

使用技术:springboot、dubbo、zookeeper、shiro、druid、thymeleaf

转载于:https://my.oschina.net/u/3358860/blog/3051189

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值