在运行时设置classpath

时间:2015-05-27 12:23:40

标签: java jar libraries

我有一个名为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

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

2 个答案:

答案 0 :(得分:1)

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

java -cp exificient.jar;. EXICodec

当前目录由.

表示

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

java -cp exificient.jar:. EXICodec

答案 1 :(得分:0)

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

的内容
java -cp "exificient.jar:." EXICodec

(假设你是在Unix上)