2.6 打包与测试

在微服务的业务代码编写过程中,可能涉及运行与调试。运行与调试可以使用IDEA集成环境,右击“***Application.java”入口文件,在弹出的快捷菜单中选择“Run ***Application...main()”或“Debug ***Application...main()”选项即可。微服务启动出现端口信息即表示启动完成,如图2-9所示。

img

图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包的打包不能继承父项目的编译插件,所以需要单独设置编译插件:

img

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

img

非可运行jar包的打包,需要使用maven-compiler-plugin编译打包插件,另外,设置JDK版本为1.8,编码使用UTF-8。

3.mvn命令的使用

使用Maven软件的打包命令,一般有带参数和不带参数两种形式。

● 不带参数:

img

● 带参数:

img

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

img

图2-10 编译打包成功

编译成功后,每个微服务或公共模块的target目录下面会生成一个jar文件,如eos-system-setting-1.0.0-SNAPSHOT.jar。

2.6.2 运行测试

运行jar文件需要使用java -jar命令,以全局唯一ID生成服务eos-guid-generator为例,启动命令如下:

img

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

img

图2-11 GUID生成微服务测试

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