AWS Elastic Beanstalk中安装tesseract5.3.4版本

问题

需要在eb(Elastic Beanstalk)的amazon linux 2023中安装tesseract软件。但是,因为amazon linux 2023官方软件库里面没有包含tesseract软件,需要通过开源的Fedora软件源来解决这个问题。

思路

配置Fedora 40软件源(amazon linux 2023的官方文档是说最高兼容Fedora 36,但是这次2025年11月,测试一下Fedora 40软件源中的tesseract5.3.4版本也可以用),然后,使用dnf安装tesseract和中文,英文语言包。

.ebextensions目录结构

bash 复制代码
├── .ebextensions                    
│   ├── 01launch-template.config
│   ├── 02tesseract.config
│   ├── 03timezone.config
│   └── 04environment-variables.config

01launch-template.config

设置应用程序的环境变量。

yaml 复制代码
option_settings:
  aws:elasticbeanstalk:application:environment:
    TESSDATA_PREFIX: /usr/share/tesseract/tessdata
  aws:autoscaling:launchconfiguration:
    DisableIMDSv1: true
    LaunchTemplateTagPropagationEnabled: true

02tesseract.config

这是安装tesseract库。

yaml 复制代码
files:
    "/etc/yum.repos.d/fedora.repo":
        mode: "000644"
        owner: root
        group: root
        content: |
            [fedora]
            name=Fedora 40 - $basearch
            #baseurl=http://download.example/pub/fedora/linux/releases/40/Everything/$basearch/os/
            metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-40&arch=$basearch
            enabled=1
            metadata_expire=7d
            repo_gpgcheck=0
            type=rpm
            gpgcheck=1
            gpgkey=https://src.fedoraproject.org/rpms/fedora-repos/raw/f40/f/RPM-GPG-KEY-fedora-40-primary
            skip_if_unavailable=False

container_commands:
    install_tesseract:
        command: |
            sudo dnf install tesseract -y
            sudo dnf install tesseract-langpack-eng -y
            sudo dnf install tesseract-langpack-chi_sim -y
            sudo dnf install tesseract-langpack-chi_sim_vert -y
        ignoreErrors: true

03timezone.config

这是设置时区。

yaml 复制代码
commands:
    set_timezone:
      command: |
        sudo timedatectl set-timezone Asia/Shanghai
      ignoreErrors: true

04environment-variables.config

设置环境变量

yaml 复制代码
files:
  "/etc/profile.d/environment_variables.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/bin/bash
      export TZ="Asia/Shanghai"
      export TESSDATA_PREFIX="/usr/share/tesseract/tessdata"

container_commands:
    environment_variables:
      command: |
        source /etc/profile
      ignoreErrors: true

总结

这就是eb安装tesseract库和设置时区的过程。执行是按照文件名执行顺序。如果在java中使用Tess4J库通过jni方式调用tesseract,需要注意Tess4J库版本号与tesseract库版本号对应。

参考

相关推荐
gelald10 小时前
Spring Boot - 自动配置原理
java·spring boot·后端
希望永不加班10 小时前
SpringBoot 集成测试:@SpringBootTest 与 MockMvc
java·spring boot·后端·log4j·集成测试
计算机学姐11 小时前
基于SpringBoot的高校竞赛管理系统
java·spring boot·后端·spring·信息可视化·tomcat·mybatis
leo_messi9411 小时前
RabbitMq(五) -- SpringBoot整合 RabbitMQ 完整实现
spring boot·rabbitmq·java-rabbitmq
huanmieyaoseng100311 小时前
SpringBoot使用Redis缓存
java·spring boot·后端
QC·Rex11 小时前
Spring Boot + Spring AI 实战:从零构建企业级 AI 应用
spring boot·大模型·向量数据库·rag·spring ai·tool calling
白露与泡影11 小时前
Spring Boot 缓存架构:一行配置切换 Caffeine 与 Redis,透明支持多租户隔离
spring boot·缓存·架构
indexsunny12 小时前
互联网大厂Java面试实战:从Spring Boot到微服务架构的技术问答
java·spring boot·redis·微服务·面试·kafka·spring security
计算机学姐13 小时前
基于SpringBoot的在线学习网站平台【个性化推荐+数据可视化+课程章节学习】
java·vue.js·spring boot·后端·学习·mysql·信息可视化
星晨雪海13 小时前
Spring Boot 常用注解
java·spring boot·后端