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

将大小写转换Java Jar包转为Exe时遇Launch4j无响应问题求助

问题排查与解决方案

针对你用Launch4j将Java Jar转为exe后无法运行且无报错的情况,常见原因和解决方法如下:

  • JRE路径未正确配置
    Launch4j生成的exe依赖JRE运行,如果未指定JRE版本或路径错误,程序会静默失败。

    • 打开Launch4j,切换到「JRE」选项卡,设置Minimum JRE version(比如1.8,匹配你编译代码的Java版本);
    • 如果希望exe自带JRE,勾选「Bundle JRE」,选择本地JRE的路径,注意路径不要包含空格或特殊字符。
  • Jar包本身不可用
    先验证Jar包是否能正常运行:打开命令行,执行java -jar 你的Jar文件名.jar。如果Jar运行失败,先修复Jar的问题(比如主类配置错误),再重新生成exe。

  • 控制台模式未开启
    你的代码是控制台交互程序,若Launch4j未设置为控制台模式,运行exe时不会弹出窗口,看起来像没反应。

    • 在Launch4j的「Basic」选项卡中,将「Console」设置为「Console only」,这样运行exe时会弹出命令行窗口,能看到程序输出或报错信息。
  • 字符编码不兼容
    代码中输出了俄文提示,若系统编码不匹配可能导致隐性异常。

    • 在Launch4j的「JRE」选项卡的「VM options」中添加参数:-Dfile.encoding=UTF-8,确保字符编码一致。

附你的代码:

import java.io.IOException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        String input;
        Scanner scan = new Scanner(System.in);
        System.out.println("Введите символы:");
        input = scan.next();

        char[] chars = input.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            char c = chars[i];
            if (Character.isUpperCase(c)) {
                chars[i] = Character.toLowerCase(c);
            } else if (Character.isLowerCase(c)) {
                chars[i] = Character.toUpperCase(c);
            }
        }
        input = new String(chars);

        System.out.println(input);
        try {
            int c = System.in.read();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

内容的提问来源于stack exchange,提问作者Александр

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 17:03:13