SpringBoot使用maven多模块开发到打包

1.我们新建一个springboot项目

新建的空项目,我们删除一些不必要的文件,删除无用的.mvn目录、src目录、mvnw及mvnw.cmd文件,最终只留.gitignore和pom.xml
SpringBoot使用maven多模块开发到打包_第1张图片

2.我们新建maven子模块

当我们新建子模块之后,子模块中会自动指定父模块
SpringBoot使用maven多模块开发到打包_第2张图片
而父模块中会增加子模块
SpringBoot使用maven多模块开发到打包_第3张图片

3.我们新建一个web模块,作为项目的启动模块

新建包,com.example,在包下新建启动类,ParentWebApplication.java

SpringBoot使用maven多模块开发到打包_第4张图片
这时候我们的项目时可以正常启动的,既然多模块,我们就想要在web模块中可以调用myson子模块中的方法或者属性之类的,我们在myson子模块中新建一个test类来尝试一下
ex:
我们在myson子模块中新建了一个类test,在web新建中一个testController,我们想要在testController控制层调用test的属性
SpringBoot使用maven多模块开发到打包_第5张图片
,这时候我们发现如果想要在testController调用这个类是不可以的,这时候我们需要在我们的web模块中的pom.xml中引用myson模块
SpringBoot使用maven多模块开发到打包_第6张图片
这时候你发现就可以调用了! 如果我们在myson的pom文件中再添加了web模块,那么项目在启动的时候就会报错了!也就说模块直接只能单方面引用
SpringBoot使用maven多模块开发到打包_第7张图片

4.项目打包

了解了项目之间的调用,接下来就是项目的打包了,我们按照正常的思路,打开maven包直接点击install,应该是可以直接打包成功的,但是我们发现,报错了!
SpringBoot使用maven多模块开发到打包_第8张图片
解决办法:
我们发现这个报错的原因是找不到类之类的,打包采用的maven,所以我们直接将parent中的maven打包插件放到我们的web模块的pom文件中,
SpringBoot使用maven多模块开发到打包_第9张图片
我这里之前打包之后运行的时候报错找不到主类,所以我在这里还指定了启动类!

你可能感兴趣的:(maven多模块,SpringBoot学习)