问题描述
问题;问题描述:我用cmd方式进入dos界面。用cd方式进入当前目录G:JAVAthinking in javaTIJ4code(G:JAVAthinking in javaTIJ4code也在classpath中)我建立了一个Test.java文件(文件内容就是一个简单的helloworld 程序,没有错误) 直接放在code文件夹下,就是当前目录下,然后运行javac Test.javajava Test程序很正常。然后我把Test.java文件放在这个目录下一个文件夹io下。即现在Test.java 的路径是G:JAVAthinking in javaTIJ4codeioTest.java。然后我用 javac ioTest.java 执行没有问题但是我又java ioTest 却出现了错误Exception in thread "main" java.lang.NoClassDefFoundError: Test/classCaused 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文件夹中明明有这个文件呀。这是为什么呢?放在子层文件夹就不行了吗? 问题补充:jjjssh 写道
解决方案
打包后编译:javac 包名.Test.java运行:java d . Test
解决方案二:
你的Test.java有没打包,你放进时io子文件夹时,在加多一句 package io;打进io包看看