You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle构建Quarkus原生镜像时如何正确引入Datadog代理?

解决Gradle构建Quarkus原生镜像引入Datadog代理的问题

核心思路

Gradle会对依赖Jar包添加哈希重命名,硬写Jar名称必然找不到,所以要通过Gradle脚本动态获取Datadog代理Jar的绝对路径,再传递给Quarkus原生构建参数。

具体步骤

  1. 确认Gradle依赖配置
    先确保已正确引入Datadog代理依赖,在build.gradle中添加:

    dependencies {
        implementation 'com.datadoghq:dd-java-agent:1.20.0' // 替换为你使用的实际版本
    }
    
  2. 动态注入原生构建参数
    在build.gradle中添加Quarkus原生构建任务的配置,自动获取代理Jar路径并传入:

    tasks.withType(io.quarkus.gradle.tasks.QuarkusNative) {
        def ddAgentJar = configurations.runtimeClasspath.find { it.name.startsWith('dd-java-agent') }
        if (ddAgentJar) {
            additionalBuildArgs.add("-J-javaagent:${ddAgentJar.absolutePath}")
        } else {
            throw new GradleException("Datadog Java Agent JAR未在运行时类路径中找到")
        }
    }
    
  3. 移除配置文件中的硬编码
    删掉application.properties里的quarkus.native.additional-build-args=-J-javaagent:dd-java-agent.jar,避免冲突。

额外说明

  • 该配置会自动适配Gradle对Jar包的重命名规则,不管Jar带不带哈希后缀都能正确找到路径
  • 确保你的Quarkus Gradle插件版本在2.0及以上(新版本兼容性更好)
  • 运行原生构建任务时,直接执行./gradlew build -Dquarkus.package.type=native即可,无需额外手动指定代理参数

内容的提问来源于stack exchange,提问作者Thiago Hora

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 14:12:08