cmd下提示java:2: 错误: 程序包xxx不存在

先给出解决方案:需要执行javac把引入的包编译一下,之后就可以了,在src的目录下执行就可以了.想看细节过程继续往下看.

提示这个错误,通常是找不到包导致的,写程序要相信一句话,"程序永远没有错,错的一定是我自己".

本着这个原则,我检查了我的代码,我的代码很简单,两个文件加起来不过10行,语法也没有问题,那么肯定是在使用命令行时,出现在路径问题.我的两个文件如下

D:\project\java\2\src\user\Base.java

package user;
public class Base {
    public void getName(){
        System.out.println("name : tom");
    }
}

D:\project\java\2\src\test\Blog.java

package test;
import user.Base;
public class Blog {
    public static void main(String args[]){
        Base b1 = new Base();
        b1.getName();
    }
}

在Blog.java文件中,引入user的Base,代码上看起来无懈可击,那么只有在命令行里找问题了.

最开始查找网上的解决方案,多数都是在说找不到包是因为没有在path路径里,需要用-classpath指定,我按这个方案也指定了下classpath,但是无效

 之后我换了多种classpath指定的路径,都是无效的.之后我开始尝试使用IDE,手上有idea2020版,在把项目建好后,运行时显示"Error:Cannot determine path to 'tools.jar' library for 17 (E:/jdk)",搜索后发现原来我的idea只支持jdk14以下的,需要换个版本,然后去官网下载jdk14,这之间省略一万字,注册麻烦死了.换了jdk14之后,idea可以运行上面的代码了,说明代码确实没有问题,有问题的是运行环境.

在使用idea的时候,我发现它把所有的java都编译了一下,我在想之前提示的找不到包,会不会是指的找不到.class文件里的包,顺着这个思路,我把user/Baes.java编译了一下,在user目录下,生成了Base.class文件,这时我再去执行java test/Blog.java,一切都顺畅了.

由于是第一天学习JAVA,所以有些原理不确定,姑且先以现有知识下一个结论,就是"java找的包,需要先进行编译,引入包时import后面写的包名,就是包所在的路径" .等有一天知道自己不对,我会在后面批注的,也请看到的大神指点一二.

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值