编译前先阅读
-
otel 使用了google format 插件,对代码有一定的要求,比如使用了没有被引用的
import、import 有*都是编译不通过的。 还需要使用@SuppressWarnings注解,以便能够绕过 google 的检查机制。 -
编译
./gradlew assemble
环境变量
- jdk 17
- Gradle 8
export M2_HOME=/home/l/middleware/apache-maven-3.9.1
export JAVA_17_HOME=/home/l/middleware/jdk/jdk-17.0.6
export JAVA_11_HOME=/home/l/middleware/jdk/jdk-11.0.18
export JAVA_8_HOME=/home/l/middleware/jdk/jdk1.8.0_361
# ddtrace
export DDTRACE_JAVA_HOME=$JAVA_11_HOME
# otel
export OTEL_JAVA_HOME=$JAVA_17_HOME
export JAVA_HOME=$OTEL_JAVA_HOME
#export JAVA_HOME=$DDTRACE_JAVA_HOME
Idea gradle 配置
Error classes/java/mainraw
> Task :instrumentation:apache-thrift:javaagent:byteBuddyJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':instrumentation:apache-thrift:javaagent:byteBuddyJava'.
> Failed to transform class files in /home/liurui/code/opentelemetry-java-instrumentation/instrumentation/apache-thrift/javaagent/build/classes/java/mainraw
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
一般情况就是代码出现了问题,但是这个日志无法查看具体的异常信息,很是头疼,如果开启debug 或者stacktrace 日志太多,耗时太长,可以对单一一个instrumentation 进行构建