java - 如何从命令行执行 java .class

标签 java

我有一个编译好的 java 类:

Echo.class

public class Echo {
    public static void main (String arg) {

            System.out.println(arg);
    }
}

cd到目录并输入:java echo "hello"

我收到此错误:

C:\Documents and Settings\joe\My Documents\projects\Misc\bin>java Echo "hello"
Exception in thread "main" java.lang.NoClassDefFoundError: Echo
Caused by: java.lang.ClassNotFoundException: Echo
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Echo.  Program will exit.

相对于必须使用 Eclipse IDE,以我可以从命令行运行的形式获取我的 java 代码的最简单方法是什么?

最佳答案

试试:

java -cp . Echo "hello"

假设您编译时使用:

javac Echo.java 

那么有可能“当前”目录不在您的类路径中(java 在其中查找 .class 定义)

如果是这种情况并列出您的目录的内容显示:

Echo.java
Echo.class

那么任何一个都可以工作:

java -cp . Echo "hello"

SET CLASSPATH=%CLASSPATH;.  

java Echo "hello"

后来成为 Fredrik指出您会收到另一条错误消息,例如。

Exception in thread "main" java.lang.NoSuchMethodError: main

当这种情况发生时,去阅读他的答案:)

关于java - 如何从命令行执行 java .class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1279542/

相关文章:

java - 将多个单词写入一个 CSV 单元格

java - 使用 JAVA 检查指定的 XML 元素是否具有特定名称

java - 是否有一种 Java 方法可以将参数集合编码为 URL 查询组件?

java - 获取艺术家的唱片目录,就像 musicbrainz 上的概览页面一样

java - 使用java解压二进制php packed float

java - Android Studio 中的 Maven 是什么?

java - "hasNextInt"没有检测到后续输入; "nextLine"放在哪里?

java - 在 Java 中构建 SQL 字符串的最简洁方法

java - 如何检查队列中的鼠标事件

Java:在循环中分割或在之前执行哪个更快