问题;
问题描述:我用cmd方式进入dos界面。用cd方式进入当前目录G:\JAVA\thinking in java\TIJ4\code
(G:\JAVA\thinking in java\TIJ4\code也在classpath中)
我建立了一个Test.java文件(文件内容就是一个简单的helloworld 程序,没有错误) 直接放在code文件夹下,就是当前目录下,然后运行
javac Test.java
java Test
程序很正常。
然后我把Test.java文件放在这个目录下一个文件夹io下。即现在Test.java 的路径是G:\JAVA\thinking in java\TIJ4\code\io\Test.java。
然后我用 javac io\Test.java 执行没有问题
但是我又java io\Test 却出现了错误
Exception in thread "main" java.lang.NoClassDefFoundError: Test/class
Caused by: java.lang.ClassNotFoundException: Test.class
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Test.class. Program will exit.
说找不到Test.class 这个文件,可是在io文件夹中明明有这个文件呀。
这是为什么呢?放在子层文件夹就不行了吗?