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

使用javac编译两个Java自定义包时无法访问类文件报错如何解决

错误产生原因

该报错核心是编译器无法将路径下的mygoal1.java文件和你要导入的package1.mygoal1类匹配上,常见触发原因有两个:

  1. part3/package1/mygoal1.java文件开头没有声明对应的包语句。Java不会自动根据文件夹路径给类分配包,必须手动在类文件第一行写package package1;才会让该类归属到package1包下,未声明的话类默认属于无名包,自然找不到package1.mygoal1。
  2. 类名或包名大小写不匹配。Java大小写敏感,如果包声明写的是Package1(首字母大写)、或者类名写的是MyGoal1和文件名mygoal1.java不匹配,也会触发该报错。
解决方法
  • 第一步:打开part3/package1/mygoal1.java,在文件第一行添加包声明,确保和文件夹名完全一致:
package package1;
  • 第二步:检查该文件内的公共类名,必须和文件名完全一致,示例正确写法:
package package1;

public class mygoal1 {
    // 类逻辑
}
  • 第三步:确认修改保存后,重新执行你的编译命令即可正常编译:
javac -sourcepath "./part3" "./part3/package2/program2.java" -d "./target"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:06:03