# springboot-demo-openjdk21 **Repository Path**: baihr/springboot-demo-openjdk21 ## Basic Information - **Project Name**: springboot-demo-openjdk21 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-17 - **Last Updated**: 2026-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # springboot-demo-openjdk21 ## 克隆项目 ```bash mkdir ~/workspace cd ~/workspace git clone https://gitee.com/baihr/springboot-demo-openjdk21.git ``` ## 部署 OpenJDK21 ```bash cd /tmp wget https://builds.openlogic.com/downloadJDK/openlogic-openjdk/21.0.5+11/openlogic-openjdk-21.0.5+11-linux-x64.tar.gz sudo mkdir /usr/java sudo tar -xzvf OpenJDK21U-jdk_x64_linux_hotspot_21.0.5_11.tar.gz -C /usr/java ``` 编辑 `/etc/profile`,设置环境变量: ```bash export JAVA_HOME=/usr/java/jdk-21.0.5+11 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH ``` 执行 `source /etc/profile`,使 profile 文件生效后,执行 `java -version` 验证。 ## 部署 Mavne ```bash cd /tmp wget https://dlcdn.apache.org/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz sudo tar -zxvf apache-maven-3.9.8-bin.tar.gz -C /opt # 设置 PATH echo -e '# set maven\nPATH="/opt/apache-maven-3.9.8/bin:$PATH"\n' >> ~/.bashrc source ~/.bashrc # 验证 mvn -v ``` 编辑配置文件 `vim /opt/apache-maven-3.9.8/conf/settings.xml`,在 `` 标签下添加以下镜像源: ```xml aliyunmaven * aliyun public repository https://maven.aliyun.com/repository/public ``` ## 构建应用 ```bash cd ~/workspace/springboot-demo-openjdk21 mvn clean mvn package -DskipTests ``` ## 运行应用 ```bash # 下载探针 cd ~/workspace/springboot-demo-openjdk21 wget -O dd-java-agent.jar "https://static.guance.com/dd-image/dd-java-agent.jar" # 注入环境变量 export DD_AGENT_HOST=localhost export DD_TRACE_AGENT_PORT=9529 export DD_JMXFETCH_STATSD_PORT=8125 export DD_ENV=dev export DD_VERSION=1.0.0 # 启动应用 java \ -javaagent:$HOME/workspace/springboot-demo-openjdk21/dd-java-agent.jar \ -jar $HOME/workspace/springboot-demo-openjdk21/target/springboot-demo-openjdk21-0.0.1-SNAPSHOT.jar ``` ## 测试接口 ```bash # 获取 User curl -X GET "http://127.0.0.1:8080/api/v1/user" -H "Content-Type: application/json" # 更新 User curl -X POST "http://127.0.0.1:8080/api/v1/user?name=coder&age=36" -H "Content-Type: application/json" # 根据名称获取参数,加入了 1 秒延迟 curl -X GET "http://127.0.0.1:8080/api/v1/user/coder" # 捕获除 0 异常 curl -X GET "http://127.0.0.1:8080/api/v1/catch-error" -H "Content-Type: application/json" # 未捕获除 0 异常 curl -X GET "http://127.0.0.1:8080/api/v1/no-catch-error" -v ``` ## 构建并运行镜像 ```bash docker build -t example/springboot-demo-openjdk21:0.0.1 . docker run --rm -p 8080:8080 example/springboot-demo-openjdk21:0.0.1 ```