java - 为什么我无法使用 Ubuntu 编译 Java 应用程序?

标签 java compiler-construction

我已经尝试了大约两天的时间来从 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/

相关文章:

java - 这是一个好的 IF block 吗?

java - AudioManager 在 setMode(MODE_IN_COMMUNICATION) 中引入延迟

c++ - 编译器如何确定哪些成员函数发生变异?

java - 使用Java代码使用process编译类

c++ - GCC 和 g++ 是如何引导的?

c++ - 间接运算符的 C++ 标准描述是否保证不会优化内存写入?

java - 如何在Java中更改音调的频率?

java - HQL 和内部类(例如构建器)

c# - 相同类型对象的 InvalidCastException - 自定义控件加载

java - 如果找不到,@PathVariable 可以返回 null 吗?