dubbo源码编译和打包
本文以dubbo2.4.11源码编译和打包例
dubbo官网:http://dubbo.io/
源码:https://github.com/alibaba/dubbo
用户指南:http://dubbo.io/User+Guide-zh.htm
开发指南:http://dubbo.io/Developer+Guide-zh.htm
按官方说明2.4.X是GA稳定版本,去https://github.com/alibaba/dubbo/releases下载最新的2.4.11
解压到D:\project\dubbo\dubbo-dubbo-2.4.11
在编译dubbo前,先执行下面操作
1、opensesame依赖问题,可能会报Non-resolvable parent POM: Could not transfer artifact com.alibaba:opensesame:pom:2.0 from/to opensesame.releases (http://code.alibabatech.com/mvn/releases)
的错误。
打开https://github.com/alibaba/opensesame,下载opensesame(主要是pom.xml文件),解压在D:\project\dubbo\opensesame-master目录
在D:\project\dubbo\opensesame-master目录下,cmd命令行执行
mvn clean install -Dmaven.test.skip
编译完成后,修改D:\project\dubbo\opensesame-master\pom.xml,把版本2.0修改为1.0,
<groupId>com.alibaba</groupId>
<artifactId>opensesame</artifactId>
<!-- 2.0修改为1.0 -->
<version>1.0</version>
<packaging>pom</packaging>
相同目录再编译一次opensesame
mvn clean install -Dmaven.test.skip
2、fastjson依赖包,可能报[ERROR] Failed to execute goal on project dubbo-common: Could not resolve dependencies for project com.alibaba:dubbo-common:jar:2.5.4-SNAPSHOT: Could not find artifact com.alibaba:fastjson:jar:1.1.8 in ibiblio.org (http://mirrors.ibiblio.org/pub/mirrors/maven2) -> [Help 1]错误
修改D:\project\dubbo\dubbo-dubbo-2.4.11\pom.xml,找到 <fastjson_version>1.1.8</fastjson_version>,将1.1.8修改为1.1.39,参考https://github.com/alibaba/dubbo/issues/22
3、注释D:\project\dubbo\dubbo-dubbo-2.4.11\pom.xml下边的内容
<repositories>
<repository>
<id>opensesame.releases</id>
<url>http://code.alibabatech.com/mvn/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
4、hessian-lite依赖包,Unable to find resource 'com.alibaba:hessian-lite:jar:3.2.1-fixed-2' in repository central.repo (http://repo1.maven.org/maven2)
从github的dubbo主库中下载hessian-lite,当前最新的dubbo源码中已带有hessian-lite源码,可以直接取出来加到dubbo 2.4.11中编译(https://github.com/alibaba/dubbo,https://github.com/alibaba/dubbo/tree/master/hessian-lite)
把hessian-lite拷贝到D:\project\dubbo\dubbo-dubbo-2.4.11,
修改D:\project\dubbo\dubbo-dubbo-2.4.11\pom.xml,增加<module>hessian-lite</module>编译
<modules>
<!-- 增加 hessian-lite-->
<module>hessian-lite</module>
<module>dubbo-common</module>
<module>dubbo-container</module>
<module>dubbo-remoting</module>
<module>dubbo-rpc</module>
<module>dubbo-filter</module>
<module>dubbo-cluster</module>
<module>dubbo-registry</module>
<module>dubbo-monitor</module>
<module>dubbo-config</module>
<module>dubbo</module>
</modules>
修改D:\project\dubbo\dubbo-2.4.11\hessian-lite\pom.xml
<parent>
<groupId>com.alibaba</groupId>
<artifactId>dubbo-parent</artifactId>
<!--<version>2.5.4-SNAPSHOT</version> 把版本号改为2.4.11,需要与当前dubbo版本号一致-->
<version>2.4.11</version>
</parent>
5、增加编译dubbo管理控制台,这一步不是必须的,主要是官方的dubbo管理控制台下载不了,直接自己编译一个,默认下不编译打包dubbo-admin,需要自己增加。
修改D:\project\dubbo\dubbo-2.4.11\dubbo-admin\pom.xml文件,把版本号改为2.4.11
<parent>
<groupId>com.alibaba</groupId>
<artifactId>dubbo-parent</artifactId>
<!-- <version>2.4.10</version> 版本号修改为2.4.11 -->
<version>2.4.11</version>
</parent>
修改D:\project\dubbo\dubbo-dubbo-2.4.11\pom.xml,增加<module>dubbo-admin</module>编译
<modules>
<module>hessian-lite</module>
<module>dubbo-common</module>
<module>dubbo-container</module>
<module>dubbo-remoting</module>
<module>dubbo-rpc</module>
<module>dubbo-filter</module>
<module>dubbo-cluster</module>
<module>dubbo-registry</module>
<module>dubbo-monitor</module>
<module>dubbo-config</module>
<module>dubbo</module>
<!-- 增加编译dubbo-admin管理控制台,dubbo-simple、dubbo-demo可自行决定是否编译 -->
<module>dubbo-admin</module>
</modules>
6、正式编译dubbo
1)cmd命令行,在D:\project\dubbo\dubbo-dubbo-2.4.11目录下执行命令:
先设置maven内存,否则编译时会报内存不足错误
set MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=512m
mvn clean install -Dmaven.test.skip
7、添加eclipse支持
在D:\project\dubbo\dubbo-dubbo-2.4.11目录下执行命令:
mvn eclipse:eclipse
可以直接在eclipse运行下边几个程序
dubbo-demo-provider/src/test/java/com.alibaba.dubbo.demo.provider.DemoProvider
dubbo-demo-consumer/src/test/java/com.alibaba.dubbo.demo.consumer.DemoConsumer
dubbo-monitor-simple/src/test/java/com.alibaba.dubbo.monitor.simple.SimpleMonitor
dubbo-registry-simple/src/test/java/com.alibaba.dubbo.registry.simple.SimpleRegistry
8、dubbo-admin管理控制台安装
第6步执行完成后,D:\project\dubbo\dubbo-2.4.11\dubbo-admin\target目录会生成dubbo-admin-2.4.11.war,
war包解压到webapps/ROOT目录下,修改WEB-INF\dubbo.properties,
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
dubbo.properties配置zookeeper的注册中心地址(zookeeper的安装配置忽略)
注意:确定zookeeper启动后再去启动tomcat。
dubbo源码编译和打包相关推荐
- dubbo 源码编译记录
DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,阿里内部采用sofa框架,同属于分布式RPC框架,dubbo开源,而sofa ...
- dubbo2.4.11源码编译
参:https://my.oschina.net/penngo/blog/494838 本文以dubbo2.4.11源码编译和打包例 dubbo官网:http://dubbo.io/ 源码:https ...
- 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )
文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...
- 打包跳过编译_Apache Flink v1.9-SNAPSHOT 源码编译
Apache Flink v1.9-SNAPSHOT 源码编译 下载源码 Flink 源码可以从官方 github repository上下载. git clone https://github.co ...
- KylinV10上qt5.9开发应用打包步骤(四)--linuxdeployqt源码编译
文章目录 1.linuxdeployqt源码编译 下载linuxdeployqt源码包,6版本的 执行下面的步骤 遇到报错 对'ucal_clone_56'未定义的引用 2. 解决依赖 linuxde ...
- java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实
好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...
- dubbo 单元测试_技术分享——一路踩坑构建Dubbo源码
源码环境 随着目前对技术栈的求知欲,也开始入手Dubbo源码啦!!! 构建源码第一步: 必备开发环境:Java 1.5 以上的版本:Maven 2.2.1 或者以上的版本: 官网下载源代码 官网构建文 ...
- 详解LAMP源码编译安装
实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MyS ...
- 【Android Gradle】安卓应用构建流程 ( Java 源码编译 和 AIDL 文件编译 )
文章目录 一.安卓应用构建简介 二.Java 源码编译 三.AIDL 源码编译 一.安卓应用构建简介 使用 Android Studio 开发 Android 应用时 , 编译应用后在 Module ...
最新文章
- 性能调优之Java系统级性能监控及优化
- 基于蔡氏混沌电路进行非线性共振探究
- 通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器)
- 转: FFmpeg功能命令汇总
- Photoshop2018详细安装教程
- 计算机网络-基本概念(1)【网络层】-ARP协议以及数据传输过程
- 【Linux】一步一步学Linux——watch命令(135)
- mysql打开无法控制_MySQL不能启动和停止 MySQL各种解决方法教程
- JS实例:网页上图片延迟加载的JS代码
- c++11 随机数random
- 第2章_Java基本语法(下):程序流程控制
- 传统图像降噪算法之BM3D原理详解
- 八种常见视频格式转换详解
- 多模光纤与单模光纤熔接及用哪种光模块的问题。
- navigator对象的主要属性介绍
- 华海清科在科创板上市:2020年扭亏为盈,清华为实际控制人
- 【要闻】如何基于K8s管理1600个微服务?某数字化银行秘诀公开
- tableau新新手指南(基础功能介绍)
- 2020支付行业七大预测:聚合支付牌照有望正式落地
- ACM素数打表(模版)