1. 程式人生 > >SOA面向服務架構打包部署

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中。使用的是

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版本進行管理。

抽離出來後的專案結構

parent中不在包含子模組。再定義打包方式。對於沒有main方法的模組進行正常的maven打包。

使用tomcat7-maven-plugin進行打包

存在main方法的使用

對於manager-web專案有一點需要注意

因為專案不是前後臺分離。所以web中包含靜態檔案。需要使用maven-resources-plugin進行資原始檔拷貝。這樣在web模組的包時。靜態資原始檔也會打包進去。否則會出現Error resolving template [index], template might not exist的異常

最後再說一下打包順序:

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、shir