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

带UTF-8编码的Java包类编译后运行找不到主类问题求助

解决带包Java类的命令行编译运行问题

核心问题根源

你的Übung13类属于übung1包,命令行运行时必须严格匹配包结构和字符编码,同时编译阶段要保证生成对应包路径的class文件。

分步解决方案

1. 确认类的包声明正确性

检查Übung13.java开头的包声明,必须与文件夹名完全一致(包含特殊字符和大小写):

package übung1;

public class Übung13 {
    public static void main(String[] args) {
        // 主方法逻辑
    }
}

2. 正确编译(生成对应包结构)

不要在übung1文件夹内编译,切换到src目录执行命令:

  1. 打开命令行,进入路径:eclipse-workspace\Übungen\src
  2. 执行编译命令,指定编码并生成包结构:
javac -encoding UTF-8 übung1/Übung13.java -d .
  • -d . 表示将编译后的class文件生成在当前目录(src下),自动创建übung1文件夹存放class文件,与包结构对应。

3. 正确运行(匹配包名与编码)

同样在src目录下执行运行命令,若命令行编码不支持德语字符,先设置编码:

# Windows命令行先执行此命令切换UTF-8编码
chcp 65001

# 运行类,格式为「包名.类名」
java übung1.Übung13

失败原因说明

  • 直接在übung1文件夹编译,未生成对应包结构,Java虚拟机无法识别类的包归属。
  • 类名/包名含特殊字符,命令行编码非UTF-8时会导致字符识别错误,进而找不到类。

验证标准

编译完成后,src目录下会生成übung1文件夹,其中包含Übung13.class文件,此时执行运行命令即可正常启动程序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 04:19:57