p2p网站建设要多少钱,网站建设销售好做吗,wordpress 调用头像,初学网站开发书籍前言
最近工作原因在弄skywalking#xff0c;为了进一步熟悉拉了代码下来准备debug#xff0c;但是编译启动项目我就费了老大劲了#xff0c;所以准备写这篇#xff0c;帮兄弟们少踩点坑。
正确步骤
既然是用开源的东西#xff0c;那么最好就是按照人家的方式使用…前言
最近工作原因在弄skywalking为了进一步熟悉拉了代码下来准备debug但是编译启动项目我就费了老大劲了所以准备写这篇帮兄弟们少踩点坑。
正确步骤
既然是用开源的东西那么最好就是按照人家的方式使用别随便百度找一些自作聪明的做法最后一个坑接一个坑。
https://github.com/apache/skywalking/blob/master/docs/en/guides/How-to-build.md
这里我附上了官方如何构建的教程
一拉取项目编译阶段
千万不要一上来就git clone
因为skywalking项目中有一些协议是不在skywalking这个项目里的是在别的项目里的比如apm-network
git clone --recurse-submodules https://github.com/apache/skywalking.git
cd skywalking/ORgit clone https://github.com/apache/skywalking.git
cd skywalking/
git submodule init
git submodule update
官方给出了对应的两种拉取项目代码的方式具体有哪些代码是从其他项目里拉取可以看根目录的 .gitmodules 文件对应的这些都是。
[submodule apm-protocol/apm-network/src/main/proto]path apm-protocol/apm-network/src/main/protourl 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-protocolurl https://github.com/apache/skywalking-query-protocol.git
[submodule skywalking-ui]path skywalking-uiurl https://github.com/apache/skywalking-rocketbot-ui.git
[submodule test/e2e-v2/java-test-service/e2e-protocol/src/main/proto]path test/e2e-v2/java-test-service/e2e-protocol/src/main/protourl https://github.com/apache/skywalking-data-collect-protocol.git项目拉取成功之后进行编译即可
mvn compile -Dmaven.test.skiptrue 该部分相关问题
1. skywalking项目拉取正常但是拉取相关其他项目代码的时候出现connect timeout之类的
建议开梯子这是最优方案
2.我还遇到个最极端的就是都拉取成功了但是编译的时候xxxxxx类找不到
最后找了很久下来发现还是拉取的东西不全解决方案可以删除对应的目录比如apm-protocol/apm-network/src/main/proto具体看是哪个类找不到哈删除完之后 git submodule initgit submodule update就可以了
3.编译的时候建议将apm-webapp模块下的frontend-maven-plugin插件注释掉这块会去装npm很慢咱也用不上主要还是看后端代码
二运行项目
项目编译成功之后idea运行报错xxxxxxx不存在因为skywalking中部分代码是编译生成的所以需要将对应这些目录mark as source root即可