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

弱问一个package的问题
请问我运行如下程序时会出java.lang.NoClassDefFoundError:   HelloWorld   (wrong   name:   test/HelloWorld)错误:

package   test;
public   class   HelloWorld
{
public   static   void   main(String[]   args)
{
System.out.println( "Hello   World ");
}
}
.java和.class文件都在C:\test目录下,C:\也已经加入了CLASSPATH,为什么运行会出错呢?

------解决方案--------------------
如何运行的?
java test/HelloWorld??
进入test目录
java HelloWorld
------解决方案--------------------
搞个IDE吧 eclipse或者netbeans

------解决方案--------------------
正确做法,在C:\下键入:java test.HelloWorld然后回车,也就是在包的最顶层,键入类的全限定名(也就是包名.类名),当然java test/HelloWorld也是可以的,但那不是标准的,我也不知道为什么可以这样,我也试过可以,不过我是在Linux下试的,windows下没试过,不知道\行不行。但windows是支持/的.
------解决方案--------------------
cd test
包其实不过是个文件夹,进入到里面以后编译运行,HelloWorld!
------解决方案--------------------
直接c目录:
C:\> javac test\HelloWorld.java
C:\> java test.HelloWorld

ps: 不推荐刚开始学java就ide,虽然免于一些烦琐的配置,但是还是打好基础比较好。
------解决方案--------------------
因为你打了个包,所以这个类的完整的名应该是test.HelloWorld,当然在test中输入java HelloWorld是找不到这个类的,在test中输入java test.HelloWorld也是找不到的,因为test文件夹中没有test子文件夹,正确做法是在test文件夹外,用java test.HelloWorld就可以找到这个类了。
------解决方案--------------------
SB
------解决方案--------------------
你们的都不行,还是看我的:
编译:javac -d . HelloWorld.java
运行:java test.HelloWorld