我对使用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)
答案 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查找您的依赖项。