- 微服务容器化开发实战
- 尹为强
- 716字
- 2021-04-04 14:33:52
2.6 打包与测试
在微服务的业务代码编写过程中,可能涉及运行与调试。运行与调试可以使用IDEA集成环境,右击“***Application.java”入口文件,在弹出的快捷菜单中选择“Run ***Application...main()”或“Debug ***Application...main()”选项即可。微服务启动出现端口信息即表示启动完成,如图2-9所示。

图2-9 微服务启动
如图2-9所示,微服务端口为“12010”,如果能看到端口信息则表示该微服务启动完成,这种方式仅适用于开发调试环境的启动。如果需要在测试和生产环境中部署运行,则需要将微服务编译打包成jar文件,再使用命令“java -jar ***.jar”进行启动。
2.6.1 编译打包
打jar包需要使用Maven的打包命令mvn package,下面对如何编译打包进行介绍。
1.可运行jar包的打包
对于Spring Boot构建的微服务,继承父项目的pom.xml配置中的spring-boot- maven-plugin编译插件即可,可参考2.4.1节的介绍。
2.非可运行jar包的打包
非可运行jar包,一般是其他微服务需要依赖的公共jar包,如公共方法、公共常量、公共的实体类等。这些公共非可运行jar包的打包不能继承父项目的编译插件,所以需要单独设置编译插件:

上面的配置是该模块没有从父项目继承pom设置:

非可运行jar包的打包,需要使用maven-compiler-plugin编译打包插件,另外,设置JDK版本为1.8,编码使用UTF-8。
3.mvn命令的使用
使用Maven软件的打包命令,一般有带参数和不带参数两种形式。
● 不带参数:

● 带参数:

编译打包成功如图2-10所示。

图2-10 编译打包成功
编译成功后,每个微服务或公共模块的target目录下面会生成一个jar文件,如eos-system-setting-1.0.0-SNAPSHOT.jar。
2.6.2 运行测试
运行jar文件需要使用java -jar命令,以全局唯一ID生成服务eos-guid-generator为例,启动命令如下:

运行后如果能看到端口“Tomcat started on port(s): 12054 (http)”,则说明微服务启动完成,可以使用浏览器Chrome进行微服务验证,如图2-11所示。

图2-11 GUID生成微服务测试
如图2-11所示,在浏览器中输入微服务端口和API路径可以返回一个64bit的唯一ID。微服务在测试和生产环境需要使用java -jar命令进行启动。