java 为什么不能在包里执行文件

来源:百度知道 编辑:UC知道 时间:2024/07/07 19:00:37
package china.test;

public class Hello {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
我在E:\eclipse\workspace\FirstTest\src\china\test里编译 再执行文件为什么出错
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: ch
ina/test/Hello)
二楼的方法还是不行啊

因为你是不能够进入到E:\eclipse\workspace\FirstTest\src\china\test再执行Hello的,你应该:
进入到包所在的文件,然后,连同包名一起执行,即:
首先,进入到E:\eclipse\workspace\FirstTest\src\
然后,java china.test.Hello (即连同包名一起执行文件)

问题解决了,记得给我分哦!呵呵……

直接执行打包的class是不行的,必须得在class前加上包的路径。
你的现在的情况是需要在china的上层目录也就是src目录下执行java china.test.Hello
但是,你如果进入test目录里执行也可以,不过得把最外层的china文件夹所在的目录也就是E:\eclipse\workspace\FirstTest\src\放到classpath里,这样,你在任何地方都可以直接执行java china.test.Hello了。

不能在包里执行的,不太清楚为什么,好像java的包就这特点。

option 1:
可以在E:\eclipse\workspace\FirstTest\src下执行java china.test.Hello

option 2:
在任意目录下执行:
java -classpath "E:\eclipse\workspace\FirstTest\src" china.test.Hello