【问题标题】:Why can't I compile my Java applications using Ubuntu?为什么我不能使用 Ubuntu 编译我的 Java 应用程序?
【发布时间】:2009-08-24 16:54:21
【问题描述】:

我已经尝试了两天来让我的 java 应用程序从 Ubuntu 的命令行编译。我知道我已经安装了 Java,因为我可以在 Eclipse 和 Netbeans 中运行我的应用程序并且它们运行良好。但是,如果我想从命令行编译我的应用程序,我会收到以下错误消息:

javac Main.java

一切都很好,没有错误或任何东西。然后我尝试:

java 主要

我收到此错误消息:

线程“main”中的异常 java.lang.NoClassDefFoundError: Main(错误名称:input/Main)
    在 java.lang.ClassLoader.defineClass1(本机方法)
    在 java.lang.ClassLoader.defineClass(ClassLoader.java:637)
    在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    在 java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    在 java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    在 java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    在 java.security.AccessController.doPrivileged(本机方法)
    在 java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    在 java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    在 java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
找不到主类:Main。程序将退出。

【问题讨论】:

    标签: java compiler-construction


    【解决方案1】:

    试试:

    java input.Main
    

    根据您的错误,您的 Main 类位于“input”包中。运行类时需要指定包名,而不是文件名。

    【讨论】:

    • 并从包含input 目录而不是input 目录本身(应该包含Main.class)的目录运行。
    【解决方案2】:

    打开终端并粘贴此命令:

    export CLASSPATH=.:/usr/local/tomcat/common/lib/jsp-api.jar:/usr/local/tomcat/common/lib/servlet-api.jar:/home/trenog/javokapi/bin/xmlrpc.jar
    

    【讨论】:

    • 这与tomcat无关。
    【解决方案3】:

    这看起来像是一个经典的 Classpath 问题。 Eclipse 和 Netbeans 会为您设置类路径,但是当您写入命令行时,您就得靠自己了。

    假设您使用的是 BASH,请尝试在命令行中输入以下内容:

    CLASSPATH=/path/to/your/java/class/file
    

    或者,您也可以从 java 命令行执行此操作:

    java -cp /path/to/your/java/class/file Main
    

    关注this link了解更多信息。

    编辑:好吧,我看到你想通了。恭喜。

    【讨论】:

      【解决方案4】:

      类加载器根本找不到类 input.Main。

      该类应位于目录./input,该目录内的文件应称为Main.class,java 命令应为'java input.Main'。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-28
        • 2019-10-07
        • 2014-05-24
        • 2012-02-23
        相关资源
        最近更新 更多