我已经尝试了大约两天的时间来从 Ubuntu 中的命令行编译我的 java 应用程序。我知道我安装了 Java,因为我可以在 Eclipse 和 Netbeans 中运行我的应用程序,并且它们工作正常。但是,如果我想从命令行编译我的应用程序,我会收到以下错误消息:
javac Main.java
一切都很好,没有错误或任何东西。然后我尝试:
java Main
我收到此错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: Main (wrong name: input/Main) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:637) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) at java.net.URLClassLoader.access$000(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:212) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336) Could not find the main class: Main. Program will exit.
最佳答案
尝试:
java input.Main
从错误的外观来看,您的 Main 类位于包“input”中。运行类时需要指定包名,而不是文件名。
关于java - 为什么我无法使用 Ubuntu 编译 Java 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1323526/