我在java编程书中测试程序时遇到了一些问题。我在eclipse中编写代码并成功运行它,但是当我通过命令行编译.java
文件然后使用java ConsoleEcho
运行它时,我收到此错误:
Exception in thread "main" java.lang.NoClassDefFoundError: ConsoleEcho (wrong na
me: einausgabe/ConsoleEcho)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
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:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
我的程序代码是:
package einausgabe;
import java.io.IOException;
import static java.lang.System.*;
public class ConsoleEcho {
public static void main( String args[] ) throws IOException {
while( true ) {
int code = in.read();
out.write(code);
}
}
}
我使用的命令是:
javac ConsoleEcho
java ConsoleEcho
我从目录..\Java\ProgrammierenMitJava2\src\einausgabe
编译时我没有收到任何错误。尝试java einausgabe.ConsoleEcho
然后我收到此错误消息:
Error: Could not find or load main class einausgabe.ConsoleEcho
答案 0 :(得分:1)
您需要在命令行中包含程序包名称,例如:
java einausgabe.ConsoleEcho
您似乎在命令中只有类名。
答案 1 :(得分:1)
您似乎忘记了包裹名称
使用
java einausgabe.ConsoleEcho