弱问一个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