首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

很急的一个有关问题,但又很简单./请大家进来帮忙看一下是怎么搞的,多谢了

2011-12-20 
很急的一个问题,但又很简单./请大家进来帮忙看一下是怎么搞的,谢谢了.一个简单的java程序:packageone.two.

很急的一个问题,但又很简单./请大家进来帮忙看一下是怎么搞的,谢谢了.
一个简单的java程序:
package   one.two.three.four;
class   A  
{
public   static   void   main(String[]   args)  
{
System.out.println( "Hello   World! ");
}
}
我在dos命令提示符下:找到了A.java的位置用:javac   -d   d:\   A.java   编译成功:
在d盘的根目录下生成了:   one\two\three\four\A.class   (one--four为文件夹).

接着我又设置classpath=d:\one\two\three\four;.;

接着执行:用命令提示符进入到:d:\one\two\three\four>   执行:java   A   提示错误.
我不明白.four文件夹下有一个A.class文件啊/怎么会失败呢?


[解决办法]
classpath 指向到d:即可
不要进入到包内部执行;
在d:目录下 执行 java one.two.three.four.A

这里有一个java关于包的概念,one.two.three.four 它是java的包,
[解决办法]
对,
classpath是指定了一个搜索路径,
虚拟机搜索一个类是按照搜索路径 再加上 你的类所在的包, 你的类名这样去找的。
这样你想像一下,你把classpath指向到了four下,你在four下执行,只不过你的当前路径落在了 four下,和你classpath指向four下是一样的效果,
虚拟机找A,他会说没有这个类,因为他认可的应该是 包路径+A 而不是 A

热点排行