在 Elastic Beanstalk 上更改 Apache Tomcat 的文件编码

Posted

技术标签:

【中文标题】在 Elastic Beanstalk 上更改 Apache Tomcat 的文件编码【英文标题】:Change File Encoding of Apache Tomcat on Elastic Beanstalk 【发布时间】:2016-05-05 05:41:19 【问题描述】:

在尝试配置我的测试 Elastic Beanstalk 服务器时,我已经用尽了所有选项。

我希望我的应用程序接受中文字符,因此我想将 file.encoding 更改为 UTF8。

这是我得到的最接近的解决方案,但这不会改变当前的非 UTF8 编码。

我创建了一个 .ebextensions 文件夹,下面有 environment.config 文件

files:
  "/tmp/update_tomcat_server_xml.sh":
    owner: root
    group: root
    mode: "000755"
    content: |
      #! /bin/bash
      export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8"

container_commands:
  00_update_tomcat_server_xml:
    command: source /tmp/update_tomcat_server_xml.sh

我可以在实例日志中看到 00_update_tomcat_server_xml 但这不会更改 tomcats 字符集。

我还可以提一下我使用的是 SpringBoot 嵌入式 Tomcat 容器。

【问题讨论】:

【参考方案1】:

您可以使用记录在 here 中的 jvmoptions 选项设置传递其他 Tomcat 特定选项。

您可以尝试使用以下 ebextension 配置吗:

option_settings:
    - namespace: aws:elasticbeanstalk:container:tomcat:jvmoptions
      option_name: JVM Options
      value: -Dfile.encoding=UTF8

告诉我进展如何!

【讨论】:

以上是关于在 Elastic Beanstalk 上更改 Apache Tomcat 的文件编码的主要内容,如果未能解决你的问题,请参考以下文章

在 Elastic Beanstalk 上更改 Apache Tomcat 的文件编码

AWS Elastic beanstalk - 更改解决方案堆栈名称

Django 在本地迁移工作,但不在 Elastic Beanstalk 生产上

AWS Elastic Beanstalk:如何更改节点命令?在最近的更新中删除了容器选项?

在 AWS 上的 symfony 2.8 应用程序中更改根目录 - Elastic Beanstalk

在 AWS Elastic Beanstalk 上扩展 Magento