java - 类文件不运行

标签 java classpath

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/

相关文章:

java - 使用 `destroyMethod` 或 `close()` 方法在 bean 返回类型上设置 `shutdown()`

java - 从在线电台流式传输音频

java - 斯坦福核心 nlp 和 openccg 中的 slf4j 问题

java - 如何在类路径中的某个位置找到包含特定类的文件?

java - 尝试运行 LWJGL "Hello World"时如何解决此 JNI 错误?

java - log4j 和 java.lang.NoClassDefFoundError : org/apache/log4j/Layout

java - 在 Java 上以编程方式进行 Amazon 云开发

java - 如何将 weblogic 的部署模式设置为 nostage?

java - @ActiveProfiles 不适用于 AbstractTestNGSpringContextTests

Spring Boot - 类路径 list 属性