将原来product项目拆分为以下3个模块
product-server //全部的业务逻辑
product-client //对外暴露的接口
product-common //公用的对象maven
一、在原有的项目上右击,New->Module
二、选择Maven选项,archetype能够不选择,直接next
三、填写对应的GroupId和ArtifactId便可,一直next,一直到finish
若是发现建立好的maven项目不能新增class文件,能够在对应的文件夹上右键,将其添加为Sources Root便可;
四、查看外层pom文件
新增完全部的模块以后,在最外层的pom文件会自动将其引入进来微服务
五、版本管理
能够在properties中设置版本管理,方便之后升级以后的改动单元测试
六、项目依赖
在微服务中,当前项目颇有可能依赖于其余服务的公用项目,这就须要咱们先将其余其余服务的公用项目进行打包,而且先放在咱们的maven的本地仓库,这样当前项目才能够进行依赖,打包前,须要在公用的项目中输入以下命令:mvn -Dmaven.test.skip=true -U clean install
(①-Dmaven.test.skip=true跳过测试用例;②-U为强制刷新;③clean清除原有target产生的jar包;④install将其打包放到本地的maven仓库)测试
打包完成以后IDEA控制台显示以下:spa
在本地仓库显示以下:code
七、修改完项目结构图
八、理解maven命令package、install、deploy的联系与区别
mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。
由上面的分析可知主要区别以下,
package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库 server