SpringBoot微服务项目打包流程
前言:
这里所谓的微服务打包是Maven项目多模块如何进行打包。即多个模块按其各自的功能分割出来,又相互依赖的情况下进行打包部署。近日在学微服务项目,进行打包时,在网上搜过了好多的资料,尝试了N种方法后发现都是坑,最后在一位大佬的教程下才顺利打包,都是泪… 所以,在此记录下打包的流程,帮助和我一样的小白。附上大佬的教程链接 SpringBoot+Maven多模块项目(创建、依赖、打包可执行jar包部署测试)完整流程
一、项目概述
项目用到了nacos+dubbo
直接上框架图:
其中
1、公共类,接口类,实体类不需要打包
2、服务提供方需要打包,打包时会自动生成他们所依赖的jar包(比如会自动把所需要的公共类,实体类打成jar包)
二、打包流程
1、配置pom.xml
打包流程很简单,就是在需要打包的模块的pom.xml文件中导入maven打包的依赖即可。
1.加入插件依赖
' <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<skipTests>true</skipTests> <!--默认关掉单元测试 -->
</configuration>
</plugin>
</plugins>
</build> '
- 指定主函数入口
' <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 指定该Main Class为全局的唯一入口 -->
<mainClass>com.braisedpanda.student.management.system.web.WebApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
</goals>
</execution>
</executions>
</plugin>
</plugins>
’
2、开始打包
三、测试jar包
这是打包好的jar包,我给他重命名了。
用java -jar xxx.jar的命令执行测试,不会的百度一下就行,很简单的启动jar包:
服务已经注册在nacos上了:
测试访问:
成功访问到了~
已经开启的服务都能够正常访问:
四、总结
没接触前发现打包太难了,还以为每一个模块都要单独打包,实体类,公共类的也要打包,然后把打好的jar包,在塞入provider类中…折腾了几天也弄不会…
主要是网上的教程鱼龙混杂,真正有用的太少了QAQ. 而且Java这行太坑了,要学的东西也太多,太杂了…
现在才明白,重点是pom.xml文件的配置。
再次附上大佬的教程链接,不明白的可以看看大佬写的这篇 SpringBoot+Maven多模块项目(创建、依赖、打包可执行jar包部署测试)完整流程
愿所有程序员都能被世界温柔以待…