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

遵循官方示例部署Google Cloud Function Java版出现NoClassDefFoundError

问题原因

你遇到的NoClassDefFoundError错误根因为部署到Google Cloud Functions的Jar包缺失io.opencensus:opencensus-api依赖:Google API客户端库内部依赖OpenCensus组件实现链路追踪能力,本地运行时类路径包含了完整的传递依赖,而部署到云函数环境时,你上传的包没有将该依赖打入,导致运行时找不到类。

解决方案

如果你使用Maven构建

  1. 优先配置maven-shade-plugin打全量Fat Jar
    云函数Java运行环境要求上传包含所有运行时依赖的Fat Jar,不要使用默认的Jar打包逻辑,在pom.xml中添加如下插件配置:
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>3.4.1</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>shade</goal>
          </goals>
          <configuration>
            <!-- 过滤签名文件避免运行时冲突 -->
            <filters>
              <filter>
                <artifact>*:*</artifact>
                <excludes>
                  <exclude>META-INF/*.SF</exclude>
                  <exclude>META-INF/*.DSA</exclude>
                  <exclude>META-INF/*.RSA</exclude>
                </excludes>
              </filter>
            </filters>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
  1. 若配置后仍报错,手动添加OpenCensus依赖
    如果存在依赖冲突导致传递依赖丢失,直接在pom.xml的dependencies节点下添加该依赖:
<dependency>
  <groupId>io.opencensus</groupId>
  <artifactId>opencensus-api</artifactId>
  <version>0.31.1</version>
</dependency>

如果你使用Gradle构建

  1. 配置Shadow插件打Fat Jar
plugins {
  id 'com.github.johnrengelman.shadow' version '7.1.2'
  id 'java'
}

shadowJar {
  mergeServiceFiles()
  // 过滤签名文件避免运行时冲突
  exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA'
}
  1. 手动添加OpenCensus依赖
implementation 'io.opencensus:opencensus-api:0.31.1'

验证与重新部署

打包完成后,解压生成的Fat Jar,确认存在io/opencensus/trace/propagation/TextFormat$Setter.class文件后,重新执行原部署命令即可。


内容的提问来源于stack exchange,提问作者Michael S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:39:03