Java NoClassDefFound尝试运行时出错

时间:2015-07-26 18:26:09

标签: java packages

我对使用java中的包很新,但我有一个文件结构:

  • 项目

      • SRC
        • COM

            • Billing.class
            • Password.class
    • SRC
      • COM

          • Billing.java
          • Password.java

每个java文件的顶部都有一个包package src.com.main;。 我正在使用javac -d ./classes/ ./src/com/main/*.java从项目文件夹进行编译,它编译得很好。当我使用java classes/src/com/main/Billing运行它时,会给我一个NoClassDefFound异常。我做错了什么?

编辑:整个错误:
java classes/src/com/main/BillingException in thread "main" java.lang.NoClassDefFoundError: classes/src/com/main/Billing (wrong name: src/com/main/Billing) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

3 个答案:

答案 0 :(得分:1)

尝试

cd project/classes/
java -cp . src.com.main.Billing

答案 1 :(得分:0)

您的类文件不在类路径中。

如果您正在使用 maven eclipse ,请尝试使用命令 mvn eclipse:eclipse

您可以使用命令提示符设置类路径,也可以在.class文件所在的位置设置。

例如:

<强> C:&GT;设置CLASSPATH = classpath1; classpath2 ..

答案 2 :(得分:0)

我认为您在其他包或jar文件的类中使用其他类,如果是这样的话!您需要定义类路径以启用java查找您的依赖项。