http://dubbo.apache.org/zh-cn/docs/dev/build.html
观察 分支有2.6.5版本
(1)启动provider
mvn clean package mvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.provider.Application exec:java(2)启动consumer
mvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.client.Application exec:javagit clone -b 克隆指定分支
dubbo-2.6.5 git上的指定分支名
https://github.com/apache/dubbo.git dubbo的git地址
dubbo-2.6.5 克隆到本地的工程重命名
git clone -b dubbo-2.6.5 https://github.com/apache/dubbo.git dubbo-2.6.5去本机maven的目录里更改setting.xml文件(随便copy了一个网上阿里云的maven仓库配置)
<?xml version="1.0" encoding="utf-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!--本地仓库。该值表示构建系统本地仓库的路径。其默认值为~/.m2/repository。--> <localRepository>/Users/luzhen/Downloads/dubboMavenRepository</localRepository> <!--Maven是否需要和用户交互以获得输入。如果Maven需要和用户交互以获得输入,则设置成true,反之则应为false。默认为true。 <interactiveMode>true</interactiveMode> --> <mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used | for inheritance and direct lookup purposes, and must be unique across the set of mirrors. | --> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror> <mirror> <id>net-cn</id> <mirrorOf>central</mirrorOf> <name>Nexus net</name> <url>http://maven.net.cn/content/groups/public/</url> </mirror> </mirrors> <profiles> <profile> <repositories> <repository> <id>nexus</id> <name>local private nexus</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>local private nexus</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <!-- --> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles> </settings>
进入到上面clone下的dubbo-2.6.5目录中执行相应命令
mvn install -Dmaven.test.skip运行效果同第6步一样
去dubbo-demo模块中的dubbo-demo-provider模块 打断点启动Provider
根据网上服务暴露的原理说明,可以找到ServiceBean类,进行相应的断点调试(自行百度相应的服务暴露原理,就知道该在哪个类上打断点了)