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

IntelliJ中Glassfish启动编码错误,如何改为UTF-8?

嘿,这个问题我之前踩过坑!IntelliJ自动生成的Glassfish启动配置经常会偷偷覆盖你设置的VM编码参数,尤其是Windows环境下默认会带windows-1252。给你几个亲测有效的解决办法:

方法1:直接修改Glassfish域配置文件(最稳妥)

Glassfish的域级配置优先级最高,改这里能一劳永逸:

  • 找到你的Glassfish安装路径下的glassfish5\glassfish\domains\domain1\config文件夹
  • 打开domain.xml文件,定位到<java-config>节点(一般在文件中后段)
  • 在该节点内添加或修改jvm-options,确保包含这一行:
<jvm-options>-Dfile.encoding=UTF-8</jvm-options>
  • 保存文件后重启Glassfish,启动时就会自动使用UTF-8编码了

方法2:调整IntelliJ的Glassfish运行配置

如果不想改动Glassfish全局配置,也可以在IntelliJ里强制指定启动参数:

  1. 点击顶部菜单栏的Run > Edit Configurations,找到你的Glassfish运行配置
  2. 切换到Startup/Connection标签页
  3. 在Run选项卡的「Command line」输入框中,替换默认命令为手动指定编码的形式:
C:\path\glassfish5\glassfish\bin\asadmin.bat start-domain --jvm-options "-Dfile.encoding=UTF-8" domain1

这里的--jvm-options参数会强制覆盖IntelliJ自动生成的编码参数,确保启动时用UTF-8
4. 保存配置后重新启动项目,就能看到编码参数生效了

方法3:统一IntelliJ全局编码设置(辅助优化)

有时候IntelliJ自身的编码设置会影响启动参数的生成,建议同步调整:

  • 打开File > Settings > Editor > File Encodings
  • 将以下选项全部设置为UTF-8:
    • Project Encoding
    • Default encoding for properties files
    • 勾选「Transparent native-to-ascii conversion」
  • 点击「Apply」保存,这能避免IDE默认插入windows-1252编码参数

内容的提问来源于stack exchange,提问作者Mercious

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:00:57