【问题标题】:Unable to run java code via Command Line. Tried changing CLASSPATH and setting new CLASSPATH via Command Line as well无法通过命令行运行 java 代码。尝试通过命令行更改 CLASSPATH 并设置新的 CLASSPATH
【发布时间】:2018-11-18 02:09:07
【问题描述】:

当我尝试运行包含的程序时出现以下错误 -

找不到或无法加载主类 ConsoleDemo 原因: java.lang.NoClassDefFoundError: inputOutput/ConsoleDemo (错误的名字: 控制台演示)

import java.io.Console;

public class ConsoleDemo {
    public static void main(String[] args) {
        Console cn = System.console();

        System.out.print("Enter your name: ");
        String name = System.console().readLine(); //cn.readLine() will also work

        System.out.print("Enter your password: ");
        char[] pass = cn.readPassword();

        System.out.println("\n----Details---- \nName: " + name);
        System.out.println("Password: " + pass.toString());
    }
}

【问题讨论】:

  • 你能包括你是如何设置类路径和执行下面的程序吗?因为我认为你不需要设置类路径来执行这个程序。
  • @NitishkumarSingh 我正在运行 - java {className} -cp . 并且还尝试在环境变量中以及通过命令行设置具有完全分类路径的类 - set CLASSPATH = "包含相关类的java文件的完整路径"
  • 不需要,执行$javac ConsoleDemo.javajava ConsoleDemo就行了
  • @dkb 我已经试过了代码在运行后编译 javac ConsoleDemo.java 但是在运行 java ConsoleDemo 时给出了提到的错误跨度>
  • 我在执行时得到了这个输出:输入你的名字:DEnter your password: ----Details---- Name: D Password: [C@42a57993,你能检查名字在 ConsoleDemo.java 文件名中没有任何特殊的隐藏字符,尝试重命名文件,再次编译并运行。

标签: java input console-input


【解决方案1】:

好的,所以在调查了您的问题之后。假设您的 java 文件存在于 Test 文件夹中,如下图所示:

现在,如果我们只需要从命令行使用命令javac ConsoleDemo.java 编译.java 文件

编译完成后,我们会多了一个文件,即java程序的类文件

您可以使用命令java ConsoleDemo 运行此程序,该命令将执行您的java 代码。

【讨论】:

  • 我已经试过了代码运行后编译 javac ConsoleDemo.java 但是在运行 java ConsoleDemo 时给出了提到的错误
  • 那么我认为您的系统存在一些 java 安装问题,因为没有额外的复杂性导致您的系统无法找到该类。
  • 如果可能,您能否分享您的类路径条目?
  • 我的类路径中没有任何内容。仅当您想使用项目中不存在且仅存在于系统中的任何 jar/类文件时才需要类路径变量。
【解决方案2】:

感谢大家的投入。 检查后我发现不仅如此,而且每个 java 代码文件都给出了相同的错误。

在 Eclipse 中一切正常,但我无法从 cmd 运行它。 为了纠正它,我刚刚编译了当前目录中的代码,然后使用java -cp . {fully qualified name}(从一个向上的目录)或java -cp .. {fully qualified name}(从当前目录)运行了.class文件 在我的例子中,完全限定名称是inputOutput.ConsoleDemo

再次感谢大家的时间和投入

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 2021-05-18
    • 1970-01-01
    相关资源
    最近更新 更多