无类引用却遇目标类问题?Java代码运行异常求助
Java单文件代码运行异常排查方向
问题核心
- 执行的运行命令为
java -classpath .:target/dependency/* Main,输出却显示“Hello world!”,但你的代码逻辑是计算特定条件下的数字和 - 代码仅为单个
Somme类文件,未涉及多文件项目,却出现目标类引用相关错误,现有Stack Overflow案例无法匹配
排查方向
- 类名与运行命令不匹配:你的主类是
Somme,但运行命令指定的是Main。Replit可能存在自动生成的Main类(就是输出“Hello world!”的那个),导致实际运行的不是你的代码。应修改运行命令为java -classpath .:target/dependency/* Somme。 - Replit环境配置干扰:检查项目中是否存在其他
.java文件(比如默认的Main.java),这类文件会被优先编译运行;同时查看Replit的运行配置,确认启动命令是否被自动替换成了运行Main类。 - 编译运行的类文件不对应:手动执行编译命令
javac Somme.java生成Somme.class,再执行java Somme验证是否得到预期结果;检查target/dependency目录是否存在旧类文件,引发类加载冲突。 - 代码逻辑隐性错误(非当前输出异常直接原因,但需修正):你的
if语句末尾多了一个分号;,导致条件判断后直接结束,后续累加代码会无条件执行,最终计算的是0到10000所有数的和,而非符合条件的数的和。
内容的提问来源于stack exchange,提问作者Tatiana L-H
相关产品推荐
相关产品推荐

