在运行时设置类路径

Setting classpath at runtime

我有一个名为 EXICodec.java 的 java 文件,由于 jar exificient.jar,它可以执行各种操作。它们在同一个文件夹中。

这是文件的结构 EXICodec.java :

import java.io.FileInputStream; 
import java.io.FileOutputStream;
[...]
import com.siemens.ct.exi.helpers.DefaultEXIFactory;

public class EXICodec {
    /*
     * Main
     */
    public static void main(String[] args) 
    {
        for (int i=0;i < args.length ; i++) 
        {
            System.out.println(args[i]);    
        }
    }
    /*
     * Attributes
     */
    [...]

    /*
     * Constructor (default)
     */
    public EXICodec()
    {[...]}

    /*
     * Methods using import from exificient.jar
     */
    [...]

当我编译时,我 运行 以下命令:(它有效)

javac -cp exificient.jar EXICodec.java

然后我要执行:

java -cp exificient.jar EXICodec

但我有以下错误:

Error : java could not find or load main class EXICodec

我是不是漏掉了一些基本的东西?我以为是 link 到包名。我有一个并将文件放在正确的文件夹中,但我遇到了同样的问题:它编译但不编译 运行.

将当前目录(包含文件 EXICodec.class)添加到类路径:

java -cp exificient.jar;. EXICodec

当前目录由.

表示

如果您使用类 Unix 操作系统(Mac OS X 或 Linux)而不是 Windows,请使用 : 而不是;作为路径分隔符:

java -cp exificient.jar:. EXICodec

您需要将 EXICodec.class 的位置添加到类路径中。

类似于

java -cp "exificient.jar:." EXICodec

(假设您使用的是 Unix)