tencent cloud

云函数

动态与公告
产品动态
产品公告
新手指引
产品简介
产品概述
相关概念
工作原理
产品优势
应用场景
相关产品
购买指南
计费概述
计费方式
计费项与计费方式
函数算力支持
免费额度
产品定价
计费示例
欠费与停服说明
快速入门
使用控制台创建一个事件函数
操作指南
配额管理
函数管理
Web 函数管理
日志管理
并发管理
触发器管理
函数 URL
自定义域名
版本管理
别名管理
权限管理
运行实例管理
插件管理
监控与告警管理
网络配置
层管理
执行配置
扩展存储管理
DNS 缓存配置
资源托管模式管理
近离线资源托管模式
工作流
触发器
触发器概述
触发器事件消息结构汇总
API 网关触发器
COS 触发器
CLS 触发器
定时触发器
CKafka 触发器
Apache Kafka 触发器
MQTT 触发器
触发器配置描述
MPS 触发器
CLB 触发器说明
云 API 触发器
开发指南
基本概念
测试云函数
环境变量
依赖安装
使用容器镜像
使用 Docker 安装依赖
错误类型与重试策略
死信队列
云函数接入数据库
自动化部署
云函数状态码
常见错误码解决方法
开发者工具
Serverless Web IDE
函数间调用 SDK
第三方工具
代码开发
Python
Node.js
Golang
PHP
Java
Custom Runtime
使用镜像部署函数
Web 框架部署
通过命令行完成框架部署
快速部署 Egg 框架
快速部署 Express 框架
快速部署 Flask 框架
快速部署 Koa 框架
快速部署 Laravel 框架
快速部署 Nestjs 框架
快速部署 Nextjs 框架
快速部署 Nuxtjs 框架
快速部署 Django 框架
实践教程
最佳实践概述
云产品联合解决方案
业务开发相关实践
实时音视频 TRTC
对象存储 COS
消息队列 CKafka
日志服务CLS
负载均衡 CLB
视频处理 MPS
内容分发网络 CDN
云数据仓库 PostgreSQL
云点播 VOD
短信 SMS
Elasticsearch Service
定时任务
视频处理
客户案例
腾讯在线教育
在线教育行业案例
游戏聊天系统
腾讯互娱国际(IEGG)
API 文档
History
Introduction
API Category
Making API Requests
Other APIs
Namespace APIs
Layer Management APIs
Async Event Management APIs
Trigger APIs
Function APIs
函数和层的状态说明
Data Types
Error Codes
SDK文档
常见问题
通用问题
Web 函数相关问题
计费相关问题
网络相关问题
日志相关问题
SCF 工具相关问题
事件处理相关问题
API 网关触发器相关问题
相关协议
Service Level Agreement
联系我们
词汇表
文档云函数代码开发Java使用 Gradle 创建 zip 部署包

使用 Gradle 创建 zip 部署包

PDF
聚焦模式
字号
最后更新时间: 2024-04-22 18:03:28
本节内容提供了通过使用 Gradle 工具来创建 Java 类型云函数部署包的方式。创建好的 zip 包符合以下规则,即可以由云函数执行环境所识别和调用。
编译生成的包、类文件、资源文件位于 zip 包的根目录。
依赖所需的 jar 包,位于 /lib 目录内。

环境准备

确保您已经安装 Java 和 Gradle。Java 请安装 JDK8,您可以使用 OpenJDK(Linux)或通过 www.java.com 下载安装合适您系统的 JDK。

Gradle 安装

具体安装方法可见 https://gradle.org/install/,以下说明手工安装过程:
1. 下载 Gradle 的 二进制包带文档和源码的完整包
2. 解压包到自己所期望的目录。例如,Windows 下的 C:\\Gradle 目录或 Linux 下的 /opt/gradle/gradle-4.1 目录。
3. 将解压目录下 bin 目录的路径添加到系统 PATH 环境变量中,请对应操作系统执行以下步骤:
Linux:通过 export PATH=$PATH:/opt/gradle/gradle-4.1/bin 完成添加。
Windows:通过 计算机>右键>属性>高级系统设置>高级>环境变量 进入到环境变量设置页面,选择 Path 变量编辑,在变量值最后添加;C:\\Gradle\\bin;
4. 在命令行执行以下命令,查看 Gradle 是否正确安装。
gradle -v
输出结果如下,则证明 Gradle 已正确安装。如有问题,请查询 Gradle 的 官方文档
------------------------------------------------------------
Gradle 4.1
------------------------------------------------------------
Build time: 2017-08-07 14:38:48 UTC
Revision: 941559e020f6c357ebb08d5c67acdb858a3defc2
Groovy: 2.4.11
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_144 (Oracle Corporation 25.144-b01)
OS: Windows 7 6.1 amd64

代码准备

准备代码文件

1. 在选定的位置创建项目文件夹,例如 scf_example
2. 在项目文件夹根目录,依次创建目录 src/main/java/ 作为包的存放目录。
3. 在创建好的目录下再创建 example 包目录,并在包目录内创建 Hello.java 文件。最终形成如下目录结构:
scf_example/src/main/java/example/Hello.java
4. Hello.java 文件内输入如下代码内容:
package example;
public class Hello {
public String mainHandler(String name, Context context) {
System.out.println("Hello world!");
return String.format("Hello %s.", name);
}
}

准备编译文件

在项目文件夹根目录下创建 build.gradle 文件并输入如下内容:
apply plugin: 'java'

task buildZip(type: Zip) {
from compileJava
from processResources
into('lib') {
from configurations.runtime
}
}

build.dependsOn buildZip

使用 Maven Central 库处理包依赖

如果需要引用 Maven Central 的外部包,可根据需要添加依赖,build.gradle 文件内容如下:
apply plugin: 'java'

repositories {
mavenCentral()
}

dependencies {
compile (
'com.tencentcloudapi:scf-java-events:0.0.2'
)
}

task buildZip(type: Zip) {
from compileJava
from processResources
into('lib') {
from configurations.runtime
}
}

build.dependsOn buildZip
通过 repositories 指明依赖库来源为 mavenCentral 后,在编译过程中,Gradle 会自行从 Maven Central 拉取依赖项,也就是 dependencies 中指明的 com.tencentcloudapi:scf-java-events:0.0.2 包。

使用本地 Jar 包库处理包依赖

如果已经下载 Jar 包到本地,可以使用本地库处理包依赖。在这种情况下,请在项目文件夹根目录下创建 jars 目录,并将下载好的依赖 Jar 包放置到此目录下。build.gradle 文件内容如下:
apply plugin: 'java'

dependencies {
compile fileTree(dir: 'jars', include: '*.jar')
}

task buildZip(type: Zip) {
from compileJava
from processResources
into('lib') {
from configurations.runtime
}
}

build.dependsOn buildZip
通过 dependencies 指明搜索目录为 jars 目录下的 *.jar 文件,依赖会在编译时自动进行搜索。

编译打包

在项目文件夹根目录下执行命令 gradle build,应有编译输出类似如下:
Starting a Gradle Daemon (subsequent builds will be faster)

BUILD SUCCESSFUL in 5s
3 actionable tasks: 3 executed
如果显示编译失败,请根据输出的编译错误信息调整代码。 编译后的 zip 包位于项目文件夹内的 /build/distributions 目录内,并以项目文件夹名命名为 scf_example.zip

函数使用

编译打包后生成的 zip 包,可在创建或修改函数时,根据包大小,选择使用页面上传(小于10M),或将包上传 COS Bucket 后再通过 COS 上传的方式更新到函数内。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈