java一个项目能有几个模块,将maven项目划分为多个模块

将原来product项目拆分为如下3个模块

product-server //所有的业务逻辑

product-client //对外暴露的接口

product-common //公用的对象

1、在原有的项目上右击,New->Module

bVbgz16?w=961&h=936

2、选择Maven选项,archetype可以不选择,直接next

bVbgz2L?w=869&h=754

3、填写对应的GroupId和ArtifactId即可,一直next,一直到finish

bVbgAdh?w=869&h=754

如果发现创建好的maven项目不能新增class文件,可以在对应的文件夹上右键,将其添加为Sources Root即可;

bVbgAdq?w=549&h=744

4、查看外层pom文件

新增完所有的模块之后,在最外层的pom文件会自动将其引入进来

bVbgAdS?w=446&h=283

5、版本管理

bVbgAd0?w=721&h=544

可以在properties中设置版本管理,方便以后升级之后的改动

6、项目依赖

在微服务中,当前项目很有可能依赖于其他服务的公用项目,这就需要我们先将其他其他服务的公用项目进行打包,并且先放在我们的maven的本地仓库,这样当前项目才可以进行依赖,打包前,需要在公用的项目中输入如下命令:mvn -Dmaven.test.skip=true -U clean install

(①-Dmaven.test.skip=true跳过测试用例;②-U为强制刷新;③clean清除原有target产生的jar包;④install将其打包放到本地的maven仓库)

bVbgAea?w=812&h=369

打包完成之后IDEA控制台显示如下:

bVbgAef?w=1370&h=320

在本地仓库显示如下:

bVbgAer?w=695&h=228

bVbgAex?w=951&h=528

7、修改完项目结构图

bVbgAgv?w=266&h=214

8、理解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私服仓库