日期:2014-05-20  浏览次数:20639 次

JAVA问题求解
package feng;
public class Hello{
  public static void main(String []args){
  System.out.println("hello world");
}
}



代码如上,Hello.java存放在D盘根目录下,  
进cmd
d:
然后编译:javac -d . Hello.java
通过 d盘根目录下出现一个feng的文件夹,里面有一个Hello.class文件
  运行:java feng.Hello
成功
但是如果编译方式不变,运行时如下:
先 cd feng 进入feng文件夹所在路径
然后 java Hello

居然报错!!!!could find the main class。。。。。
我的classpath没有配 JDK1.5以后是允许的,我的JDK版本是1.6  
请问为什么????

------解决方案--------------------
不解了 在命令行下编译java文件怎么会根据package自动生成文件夹"feng",至少我没见过
我认为不用工具的话不会自动生成文件夹feng

既然 运行:java feng.Hello了说明你知道java包名机制
干嘛还要到feng里面去运行呢
你java那一下 并且没指定路径的话JVM就会从当前路径开始 后面接上包路径
发现feng下没有feng这个包 肯定会出错了 除非你把package feng; 去掉
或者乖乖回到包外面去运行