博主使用代码8.7.0 版本 github.com/apache/skyw…
工具 git, JDK8+, Maven 3.6+
git clone -b v8.7.0 --recurse-submodules https://github.com/apache/skywalking.git
cd skywalking/
近期经常访问github 有问题的。可能下载不下来。可以在官方地址进行下载 skywalking.apache.org/ 点击Downloads 选择对应8.7.0 版本源码进行下载
本地编译Skywalking
-
代码下载下来以后在pom.xml 找到 maven-checkstyle-plugin 插件,这个插件主要是格式的校验。防止我们修改一些代码报错问题。所以将此插件注释掉
-
找到apm-webapp 工程 pom.xml,然后找到 com.github.eirslett 插件可以看一下 这个插件主要是做 安装 install node and npm。然后编译前端代码。如果有需要前端的可以保留这个。如果只是后端学习的话。可以去掉,下载安装编译前端项目很耗时的过程,可以选择将此插件注释掉
-
将项目导入为 Maven 项目。运行./mvnw compile -Dmaven.test.skip=true编译项目并生成源代码。
-
项目使用了gRPC和protobuf。 需要设置生成的源代码文件夹。目录如下:
grpc-java和apm-protocol/apm-network/target/generated-sources/protobuf 中的java文件夹 grpc-java和oap-server/server-core/target/generated-sources/protobuf 中的java文件夹 grpc-java和oap-server/server-receiver-plugin/receiver-proto/target/generated-sources/fbs 中的java文件夹 grpc-java和oap-server/server-receiver-plugin/receiver-proto/target/generated-sources/protobuf 中的java文件夹 grpc-java和oap-server/exporter/target/generated-sources/protobuf 中的java文件夹 grpc-java和oap-server/server-configuration/grpc-configuration-sync/target/generated-sources/protobuf 中的java文件夹 grpc-java和oap-server/server-alarm-plugin/target/generated-sources/protobuf 中的java文件夹 antlr4oap-server/oal-grammar/target/generated-sources 中的文件夹
-
查看protobuf文件会报错,因为无法识别。 安装一个 protobuf support 插件,就可以解决问题。当然也可以选择不安装
编译一次过程会有很长时间,可以去喝点茶