C:\Users\student3>java -cp C:\users\student3 start
Exception in thread "main" java.lang.NoClassDefFoundError: start (wrong name: wo
rk/start)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
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 sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
截图:http://imageshack.us/photo/my-images/835/mt6a.png/ 这是我第一次在 Windows 上运行类(class),会发生什么?
更新:
线程“main”中出现异常 java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Row 所以..我应该创建 100 个目录吗?
最佳答案
看起来您已将 start
类放入名为 work
的包中。为此,您需要:
- 将
start.class
放入名为work
的目录中,并调用java -cp C:\users\student3 work.start
< - 或者只需从源文件中删除
package work;
行 - 那么该命令将按您的预期工作。
附注:按照惯例,Java 类名总是以大写字母开头。因此,您确实应该将 start
重命名为 Start
。
关于java - 类文件不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18120813/