SpringBoot微服务项目打包流程


前言:

这里所谓的微服务打包是Maven项目多模块如何进行打包。即多个模块按其各自的功能分割出来,又相互依赖的情况下进行打包部署。近日在学微服务项目,进行打包时,在网上搜过了好多的资料,尝试了N种方法后发现都是坑,最后在一位大佬的教程下才顺利打包,都是泪… 所以,在此记录下打包的流程,帮助和我一样的小白。附上大佬的教程链接 SpringBoot+Maven多模块项目(创建、依赖、打包可执行jar包部署测试)完整流程

一、项目概述

项目用到了nacos+dubbo

直接上框架图:

java 微服务如何把项目打包到一个目录下 微服务打jar包_多module打包

java 微服务如何把项目打包到一个目录下 微服务打jar包_SpringBoot_02

其中
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> '
  1. 指定主函数入口
'  <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>

java 微服务如何把项目打包到一个目录下 微服务打jar包_多module打包_03

2、开始打包

java 微服务如何把项目打包到一个目录下 微服务打jar包_Java_04

java 微服务如何把项目打包到一个目录下 微服务打jar包_SpringBoot_05

三、测试jar包

java 微服务如何把项目打包到一个目录下 微服务打jar包_打包_06


这是打包好的jar包,我给他重命名了。

用java -jar xxx.jar的命令执行测试,不会的百度一下就行,很简单的启动jar包:

java 微服务如何把项目打包到一个目录下 微服务打jar包_微服务_07


服务已经注册在nacos上了:

java 微服务如何把项目打包到一个目录下 微服务打jar包_SpringBoot_08


测试访问:

java 微服务如何把项目打包到一个目录下 微服务打jar包_微服务_09


成功访问到了~

java 微服务如何把项目打包到一个目录下 微服务打jar包_打包_10


已经开启的服务都能够正常访问:

java 微服务如何把项目打包到一个目录下 微服务打jar包_Java_11

四、总结

没接触前发现打包太难了,还以为每一个模块都要单独打包,实体类,公共类的也要打包,然后把打好的jar包,在塞入provider类中…折腾了几天也弄不会…

主要是网上的教程鱼龙混杂,真正有用的太少了QAQ. 而且Java这行太坑了,要学的东西也太多,太杂了…

现在才明白,重点是pom.xml文件的配置。
再次附上大佬的教程链接,不明白的可以看看大佬写的这篇 SpringBoot+Maven多模块项目(创建、依赖、打包可执行jar包部署测试)完整流程

愿所有程序员都能被世界温柔以待…

java 微服务如何把项目打包到一个目录下 微服务打jar包_SpringBoot_12