dubbo+springboot分模块项目发布为jar包的方法
1.错误复现
项目结构如下
一开始,直接对生产者进行打包,但打包到一半出错
2.正确办法
从错误信息可以看出,是service的几个依赖包在本地仓库中没有找到,所以需要【按照依赖顺序】打jar包:service依赖于api,api依赖mapper,mapper依赖common,common依赖entity。所以打包顺序为:
- entity
- common
- mapper
- api
- service
- center-web(里面放置的是controller)
3具体操作
3.1.打entity的jar包
先clean掉原来的生成内容,完成后点击install打包
打包成功后如下:
可以看到,打包后target中存了一份,本地的.m2仓库中存了一份
3.2.打common模块的jar包
一开始出错了:
报错为:
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.0.2.RELEASE:repackage (default) on project books-common: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:2.0.2.RELEASE:repackage failed: Unable to find main class
解决办法:
由于common不需要启动类,只是几个工具类,但在pom中却多加了springboot插件,所以插件找不到启动类,才报错,故删除这个依赖即可。
删除后再clear+install
3.3.同样的方法,打包api和mapper
打包出来后,在target中可以看到生成的jar包
3.4.打包service和center-web模块
因为service和center-web都有启动类,所以pom文件中需要
经过前面的打包,本地仓库中已经包含了需要的各种依赖
此时分别对service和center-web进行clear+install,成功打包
选择exec的那个jar包,用解压工具打开,看到各个包都已经被打包进去了
通过java -jar xxx.jar运行,运行成功
本文地址:https://blog.csdn.net/qq_43433860/article/details/107287049