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

如何在AWS Lambda中配置Java环境以使用Tabula读取PDF?

如何在AWS Lambda中配置Java环境以使用Tabula读取PDF?

嘿,我之前也碰到过一模一样的问题!Tabula这个库是依赖Java运行时才能工作的,但Lambda默认的Python运行环境里根本没装Java,所以才会抛出那个JavaNotFoundError。给你分享几个靠谱的解决办法,亲测有效:

方法一:用Lambda层挂载Java环境(最推荐)

Lambda层可以帮我们把Java这种通用依赖单独打包,不用每次更新代码都重复带它,步骤超清晰:

  1. 先搞到适配Lambda环境的Java包:Lambda用的是Amazon Linux 2系统,所以得对应下载x86_64或者arm64架构的OpenJDK(看你Lambda函数选的架构),我一般用Amazon Corretto 11,稳定还兼容:
    你可以在本地用Amazon Linux 2的容器来操作,避免系统不兼容的问题,执行这些命令:
    # 下载Corretto 11安装包
    curl -O https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.tar.gz
    # 创建java目录并解压
    mkdir java
    tar -xzf amazon-corretto-11-x64-linux-jdk.tar.gz -C java --strip-components=1
    
  2. 打包成zip:把java目录直接打包成zip文件,命令是zip -r java-layer.zip java/
  3. 上传成Lambda层:打开AWS Lambda控制台,左侧菜单点「层」,然后点「创建层」,上传刚才的zip,运行时选你函数用的Python版本(比如Python 3.9)
  4. 把层关联到你的函数:进入你的Lambda函数页面,切换到「层」选项卡,点「添加层」,选择你刚创建的Java层
  5. 配置环境变量:去函数的「配置」->「环境变量」,添加两个变量:
    • 键:JAVA_HOME,值:/opt/java
    • 键:PATH,值:$PATH:/opt/java/bin
      这样Python进程就能找到java命令了!

方法二:用自定义容器镜像部署

要是你觉得层的步骤有点繁琐,也可以直接做个包含Python和Java的容器镜像,这样环境一步到位:

  1. 写个Dockerfile,示例如下(以Python 3.9为例):
    FROM public.ecr.aws/lambda/python:3.9
    # 安装Amazon Corretto 11
    RUN yum install -y java-11-amazon-corretto-devel
    # 设置Java环境变量
    ENV JAVA_HOME /usr/lib/jvm/java-11-amazon-corretto.x86_64
    ENV PATH $PATH:$JAVA_HOME/bin
    # 安装Python依赖(把你的requirements.txt放在同目录)
    COPY requirements.txt .
    RUN pip install -r requirements.txt
    # 复制你的Lambda代码到任务根目录
    COPY lambda_function.py ${LAMBDA_TASK_ROOT}
    # 设置Lambda入口函数
    CMD ["lambda_function.lambda_handler"]
    
  2. 把这个镜像构建好,推送到AWS ECR,然后在Lambda里创建一个用容器镜像的函数就行,这样环境里自带Java,不用再额外配置了。

小提醒

  • 别忘了检查你的Lambda执行角色权限,得有读取源S3桶和写入目标桶(bucket-recebendo)的权限,不然会报权限错误
  • Tabula和Java版本兼容没问题,Java 8或11都能用,我个人更推荐11,稳定性更好

备注:内容来源于stack exchange,提问作者ique

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 10:14:33