1、推荐大家将github仓库拷贝到码云上,以提升下载速度1)下载工程
2、为了避免clone过程出错,可以设置git的全局参数:git config --global core.longpaths true避免出现Filename too long的报错信息
该步骤非常重要,不完整执行成功,后续的编译会失败。git submodule update执行很慢,还可能中途中断编译项目,此时会生成一些类skywalking\apm-protocol\apm-network\target\generated-sources\protobuf\java\org\apache\skywalking\apm\network\common\v3目录下的类如下图:
1、通过命令拉取源码3.2 模块分析构建过程中遇到的最大问题是:git submodule 子模块的源码构建不出来,整体项目拉取下来后也可通过如下命令再次拉取子模块源码复制代码
- git clone -b v8.3.0 --recurse-submodules https://gitee.com/giteets/skywalking.git
如果实在不行:在项目下有个.gitmodules文件,定义了子模块的仓库地址和应该安装到什么目录下复制代码
- git submodule init
- git submodule update
实在不行,就手动将这四个子模块分别手动下载到指定的path目录下,注意版本复制代码
- [submodule "apm-protocol/apm-network/src/main/proto"]
- path = apm-protocol/apm-network/src/main/proto
- url = https://github.com/apache/skywalking-data-collect-protocol.git
- [submodule "oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol"]
- path = oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol
- url = https://github.com/apache/skywalking-query-protocol.git
- [submodule "skywalking-ui"]
- path = skywalking-ui
- url = https://github.com/apache/skywalking-rocketbot-ui.git
- [submodule "test/e2e/e2e-protocol/src/main/proto"]
- path = test/e2e/e2e-protocol/src/main/proto
- url = https://github.com/apache/skywalking-data-collect-protocol.git
2、将项目导入到idea,要求jkd8,maven3.6
3、在项目的pom.xml中添加properties4、clean,package,install,注意跳过测试复制代码
- <maven.multiModuleProjectDirectory><maven.multiModuleProjectDirectory>C:\developer\WorkSpace\skywalking</maven.multiModuleProjectDirectory></maven.multiModuleProjectDirectory>
5、参考社区文档,设置idea,将生成的源代标记成Sources Root
设置 生成的源代码(Generated Source Code)目录.
- apm-protocol/apm-network/target/generated-sources/protobuf 目录下的 grpc-java 和 java 目录
- oap-server/server-core/target/generated-sources/protobuf 目录下的 grpc-java 和 java 目录
- oap-server/server-receiver-plugin/receiver-proto/target/generated-sources/protobuf 目录下的 grpc-java 和 java
- oap-server/exporter/target/generated-sources/protobuf 目录下的 grpc-java 和 java
- oap-server/server-configuration/grpc-configuration-sync/target/generated-sources/protobuf 目录下的 grpc-java 和 java
存储直接使用上一次课准备好的es7的存储即可。执行OAPServerStartUp的main方法不报错就没问题。
本文由传智教育博学谷 - 狂野架构师教研团队发布
如果本文对您有帮助,欢迎关注和点赞;如果您有任何建议也可留言评论或私信,您的支持是我坚持创作的动力
转载请注明出处!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |