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

如何解决Java编译运行时提示‘class not found wrong class name’的错误?

解决Java包声明导致的类找不到问题

问题原因

你的代码声明了包hello_project,编译后的.class文件必须放在与包名对应的目录结构中,且运行时需要使用**全类名(包名+类名)**执行,而不是直接用类名。直接运行java Hello能生效是因为Java 11及以上版本支持单文件源代码运行模式,该模式会自动处理包结构,但编译后必须遵循标准Java包规则。

正确操作步骤

  • 第一步:创建对应目录结构
    在当前目录下新建一个名为hello_project的文件夹,将Hello.java移入该文件夹。
  • 第二步:编译代码
    回到hello_project所在的上级目录,执行编译命令:
    javac hello_project/Hello.java
    
    执行后,hello_project文件夹内会生成Hello.class文件。
  • 第三步:运行程序
    同样在上级目录,使用全类名执行运行命令:
    java hello_project.Hello
    

替代快速操作方式(无需手动建目录)

如果不想手动创建目录,可以用javac的-d参数指定输出目录,自动生成包结构:

javac -d . Hello.java
java hello_project.Hello

-d .表示将编译后的class文件输出到当前目录,会自动创建hello_project目录并放入Hello.class。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 14:56:06