猿问

求问关于package引用问题,以下是具体内容!

package aa.bb.cc.dd;

class T1{
public static void main(String [] args){
System.out.println("hollo world");
}
}

这是一个测试语句,我己经把T1放到了文件aa/bb/cc/dd的目录下,而且编译的时候也可以顺利通过,但是在输出的地方一输出就会出现一堆的英文。好像是Exception in thread "main" java.lang.NoClassDefFoundError:T1<wrong name :aa/bb/cc/dd/T1>
之后就一群
at java.lang.ClassLoader.defineClass……

请问下为什么会这样的?通过编译不是代表程序己经没有错误可以运行了吗?怎么还会这样的。还有就是上面的英文好似经常可以看到,请问下是什么意思,什么情况下才会报这种错误的呢?
还有就是我编译的时候要是用命令:javac -d aa/bb/cc/dd T1.java
根本无法找到文件,为什么明明说-d是引用目录的命令,但用起来确不对的?

当年话下
浏览 293回答 1
1回答

慕无忌1623718

你这个命令不对,正确的编译与执行命令是这样的:javac -d . T1.java (编译的时候,类名不区分大小写,也可以写成javac -d . t1.java 注意在-d和点之后都有一个空格)java aa.bb.cc.dd.T1
随时随地看视频慕课网APP

相关分类

Java
CSS3
我要回答