执行java类文件的问题

bab*_*ak6 2 java javac

我是java的新手.我写了一个这样的简单代码:

import java.io.*;


public class a
{
    public static void main(String []argc)
    {
        System.out.println("S");
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用下面的bash命令编译它:

javac a.java
Run Code Online (Sandbox Code Playgroud)

这个:

java a
Run Code Online (Sandbox Code Playgroud)

但它说:

无法找到或加载主类a

我的java版本是1.6.0.我该怎么办?

Joa*_*uer 8

一个常见的原因是您已设置环境变量CLASSPATH.

这通常不是一个好主意,因为该设置总是会影响整个系统.

您可以通过指定-cp参数轻松定义每实例类路径.

在你的情况下,你可以做到

java -cp . a
Run Code Online (Sandbox Code Playgroud)

这告诉Java在当前目录(.)中查找类.


Sak*_*ket 5

用它来运行:

java -cp . a

基本上,您需要将编译.class文件所在的目录添加到类路径(.在您的情况下是当前目录).

此外,您的代码此时不使用外部库中的其他API,但很可能您将继续使用.在这种情况下,请确保java -cp .;<jar1 path>;<jar2 path> a在运行代码时将这些JAR添加到类路径(使用)中.