SOA面向服務架構打包部署

今天在公司打包部署SOA架構的項目。可是一直出現打包錯誤問題。如今記錄下來css

一、項目結構錯誤java

原先的項目結構是:web

parent Maven項目中聚合了三個maven子模塊spring

原先:parenttomcat

                --commonspringboot

                --manager架構

                            --pojomaven

                            --interfacespring-boot

                            --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的異常

最後再說一下打包順序:

一、對parent進行打包使用Run AS -->Maven install

二、對common模塊進行打包使用Run AS -->Maven install

三、對manager模塊進行打包使用Run AS -->Maven install

四、對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

相關文章
相關標籤/搜索