使用STS,我的云功能在本地运行良好,使用以下命令:
mvn function:run -Drun.functionTarget=functions.Gcpfunc
但是,在执行本地Source或预先打包的Lite JAR部署时,GCP上的构建日志在以下阶段显示错误:
"builder": Running "javap -classpath sts2gcphttpfunc-0.0.1-SNAPSHOT.jar functions.Gcpfunc"
"builder": Error: class not found: functions.Gcpfunc. 但是,如果我直接在GCP上创建一个函数并进行同样的部署,那么上面的行将在日志中显示成功。
我的系统规范: Java 8,Maven 3.6.3,Windows8.1附件: pom.xml的屏幕截图,"Source“和"JAR”部署的构建日志错误
用于源部署的命令:
gcloud functions deploy Gcpfunction3 --region=us-east1 --entry-point=functions.Gcpfunc --runtime=java11 --trigger-http --allow-unauthenticated命令用于Lite JAR部署:
gcloud functions deploy Gcpfunction3 --region=us-east1 --entry-point=functions.Gcpfunc --runtime=java11 --trigger-http --source=target/deployment --allow-unauthenticated

发布于 2020-10-28 10:36:49
这个问题已经解决了。必须从pom.xml中删除Spring maven-plugin,这样类文件就不会在Boot文件夹中创建。
发布于 2020-10-26 08:34:18
当您从google文档中查看示例时,本地测试的语法是:
mvn function:run -Drun.functionTarget=your.package.yourFunction但是在文档系统的gcloud部署命令示例中是:
gcloud functions deploy NAME --entry-point NAME --runtime RUNTIME TRIGGER [FLAGS...]因此,请注意,--entry-point在gcloud命令中应该包含类名,而在mvn function:run命令中,它是带包的。我认为这是主要的问题,所以验证这个值。准确的信息,如何使用它,你可能会发现这里。
还有一个,老实说,不确定是否重要,那就是在maven中使用的是java 8,而在GCF中,您只能使用java 11,实际上您正在gcloud命令中使用它。
https://stackoverflow.com/questions/64511140
复制相似问题