Dubbo 的提供者方是不需要依赖于 web 容器的。所以打包之后是一个 jar 文件, 当部署到服务器时,因为该 jar 文件并不包含其他依赖关系,那么该如何启动提供者的 jar?
需要使用 Maven 中的 Assembly 插件
- Assembly 插件的作用:
- 构建一个完整的发布包,包含脚本、配置文件以及所有运行时所依赖的元素(jar),将所有依赖的 jar 包打包到压缩包中。
- 支持多种格式,如 zip、tar.gz、tar.bz2、jar、dir、war 等等。
- 实现步骤:在原有项目基础上添加下面步骤(以 Provider 项目为例)
- 在 Provider 的 Maven 项目的 pom.xml 中添加 assembly 插件
- 在项目根目录下新建 assembly 文件夹
- 解压 05 assembly 目录中的压缩包,并把 bin 和 conf 文件夹复制到新建 的 assembly 文件夹.粘贴后要把 conf/dubbo.properties 中内容清空。
- 在 assembly 文件夹下新建 assembly.xml 文件,并添加内容(详见资料 文档)
- 执行 Maven Install 命令后会在 target 下生成.tar.gz 的文件.