错误: 程序包com.bjsxt.java140不存在

转载自:http://blog.sina.com.cn/s/blog_d7cdfaa10102vnlu.html     仅供参考学习    如有侵权请私信秒删

在学习Java中的package的时候遇到一个这样的问题

 

        今天在做Java例子的时候遇到一个这样的问题:错误: 程序包com.bjsxt.java140不存在

        如图:

        

        这个例子涉及到了两个java文件:

         一个是Cat.java:

         

[java] view plaincopy
 
  1. package com.bjsxt.java140;  
  2.   
  3. public class Cat  
  4. {}  


          一个是Dog.java:

      

[java] view plaincopy
 
  1. public class Dog  
  2. {  
  3.     public static void main(String[] args)  
  4.     {  
  5.         com.bjsxt.java140.Cat c=new com.bjsxt.java140.Cat();  
  6.     }  
  7. }  


        两个文件的目录层次如图所示:

         

           怎么会出现这个错误呢?我是按照例子一点点做的啊!经过大约半个多小时的探索,自己终于把问题找到了。

            我仔细查看后,确认自己的代码没有问题,然后经过测试,我发现在有两种方法可以成功:

            1、现在所有的文件都是在javademo estpackage目录下,如果把它们都拿到javademo这个目录下可以成功。

            2、把Cat.java和Dog.java中的package都多加上一层TestPackage也可以成功。

            由必须class文件的最上层包的父目录位于classpath下

            我的classpath是这样配置的:

           

           于是,我把这个目录改为其他的,再测试,发现又会出现上面的问题。

 

            注意:修改了classpath的变量值一定要重启cmd。

 

           到了这里,我们也就想到了还有一种解决方法就是classpath的变量值改为D:javaDemo;.(点:表示当前目录)

 

 

 

原文地址:https://www.cnblogs.com/lsswudi/p/11240103.html