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

如何为Google Function指定多模块target路径替代GOOGLE_ENTRYPOINT

方案1:直接指定部署jar包路径(最适合多模块场景)

gcloud functions deploy 命令原生支持 --jar 参数直接指定待部署的jar包位置,你不需要修改任何环境变量,在root目录执行以下命令即可完成部署:

gcloud functions deploy post-function \
--entry-point io.micronaut.gcp.function.http.HttpFunction \
--runtime java11 \
--trigger-http \
--jar ./post-function/target/post-function-0.1.0.jar

部署其他子模块函数时,仅需修改函数名和--jar参数对应的子模块jar路径即可。


方案2:指定部署源目录为对应子模块根目录

你也可以通过--source参数指定gcloud的部署工作目录为对应子模块路径,gcloud会自动读取该子模块下的target目录内容:

  1. 先在root目录执行全量打包,生成所有子模块的构建产物:
mvn package
  1. 执行部署命令指定子模块为源目录:
gcloud functions deploy post-function \
--entry-point io.micronaut.gcp.function.http.HttpFunction \
--runtime java11 \
--trigger-http \
--source ./post-function

如果需要提升构建效率,也可以单独打包指定子模块:

mvn package -pl post-function -am

其中-pl指定要打包的模块,-am会同时构建该模块依赖的其他模块。


注意事项

  • GOOGLE_ENTRYPOINT 是GCF内部保留的环境变量,确实不允许用户自定义配置,不需要尝试修改该参数。
  • 每个子模块的pom.xml需要正确配置Micronaut Maven插件或者Maven Shade插件,确保打出的jar是包含所有依赖的fatjar,避免部署后出现类找不到的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:45:04