在线作图网站,如何生成网站,黄浦网站建设推广,广州百度推广外包dd-trace-java 是 Datadog 开源的 java APM 框架#xff0c;本文主要讲解如何编译 dd-trace-java 项目。
环境准备 JDK 编译环境(三个都要#xff1a;jdk8\jdk11\jdk17) Gradle 8 Maven 3.9 (需要 15G 以上的存储空间存放依赖) Git 2 (低于会出现一想不到的异常#xf…dd-trace-java 是 Datadog 开源的 java APM 框架本文主要讲解如何编译 dd-trace-java 项目。
环境准备 JDK 编译环境(三个都要jdk8\jdk11\jdk17) Gradle 8 Maven 3.9 (需要 15G 以上的存储空间存放依赖) Git 2 (低于会出现一想不到的异常建议用最新版本) 梯子 内存 8G (如果二开则需要 16G 以上)
JDK
JDK version 8 must be installed.JDK version 11 must be installed.JDK version 17 must be installed.JAVA_8_HOME must point to the JDK-8 location.JAVA_11_HOME must point to the JDK-11 location.JAVA_17_HOME must point to the JDK-17 location.The JDK-8 bin directory must be the only JDK on the PATH (e.g. $JAVA_8_HOME/bin).JAVA_HOME may be unset. If set, it must point to JDK-8 (same as JAVA_8_HOME). MacOS users, remember that /usr/libexec/java_home may control which JDK is in your path.
建议用 JDK 11 进行编译JDK 8 好像通不过可以尝试。
环境变量配置
# JAVA
export JAVA_17_HOME/home/liurui/middleware/jdk/jdk-17.0.6
export JAVA_11_HOME/home/liurui/middleware/jdk/jdk-11.0.18
export JAVA_8_HOME/home/liurui/middleware/jdk/jdk1.8.0_361
# ddtrace
export DDTRACE_JAVA_HOME$JAVA_11_HOME
export JAVA_HOME$DDTRACE_JAVA_HOME# gradle
export GRADLE_8_HOME/home/liurui/middleware/gradle-8.0.2
export GRADLE_HOME$GRADLE_8_HOME
export GRADLE_USER_HOME/home/liurui/middleware/gradle_repository# maven
export M2_39_HOME/home/liurui/middleware/apache-maven-3.9.1
export M2_HOME$M2_39_HOMEPATH$M2_HOME/bin:$JAVA_HOME/bin:$GRADLE_HOME/bin:$GROOVY_HOME/bin:$GO_HOME/bin:$DOTNET_ROOT:$PATH
源码下载
观测云基于 ddtrace做了很多增强的功能且会不定期同步官方的代码保持官方与观测云代码同步 git clone https://github.com/GuanceCloud/dd-trace-java.git
也可以基于官方的
git clone https://github.com/DataDog/dd-trace-java.git
不要基于 master 分支建议基于 tag 来编译tag 是稳定的。
比如当前最新tag为v1.19.0用以下命令进行 checkout
git checkout -b 1.19.0_local v1.19.0命令行编译
如果不需要调整源码建议不要用 idea 进行编译直接通过命令行即可。
编译准备工作 仓库选择由于首次构建需要下载大量的依赖包为了保证能够顺利构建不建议使用阿里云镜像仓库因为阿里云镜像仓库并非与 maven 仓库同步。也可以选择使用阿里云镜像仓库如果构建出现了依赖下载问题可以再切回 maven 仓库。 构建时间下载依赖包耗时长建议空闲时构建或者使用空闲电脑构建首次构建一般需要 12 个小时以上甚至可能会超过 24 小时。Window 环境编译耗时可能更长48小时也不足为怪要做好心理准备。 梯子 没有梯子估计很多依赖都无法下载视具体网络情况而定。 运气 最终编译时间长短取决于运气
liuruiliurui:~/code$ cd dd-trace-java/
liuruiliurui:~/code/dd-trace-java$ gradle clean shadowJar
....Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use --warning-mode all to show the individual deprecation warnings and determine if they come from your own scripts or plugins.See https://docs.gradle.org/8.0.2/userguide/command_line_interface.html#sec:command_line_warningsBUILD SUCCESSFUL in 1m 32s
1323 actionable tasks: 999 executed, 311 from cache, 13 up-to-datebuild 成功后可以在dd-java-agent/build/libs/ 目录下找到刚刚 build 成功的 agent 包。
idea 编译
如果需要用 idea 编译系统内存至少是 16G
配置 Gradle 编译
执行 Task shadowJar 参考文档
CONTRIBUTING