java - 在运行时设置类路径

标签 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

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

最佳答案

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

java -cp exificient.jar;. EXICodec

当前目录由表示。

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

java -cp exificient.jar:. EXICodec

关于java - 在运行时设置类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30482353/

相关文章:

java - Java 中没有源附件

c++ - 在 C++ 中合并两个库

java - 为什么Hibernate默认为@OneToMany创建Join Table?

java - 下载 OSM Tiles,连接被对等方重置

jar - Leiningen:如何在 uberjaring 时排除依赖项?

java - 具有公共(public)前缀的字符串的空间高效集合 - Java 实现

java - Eclipse 中的 Web 应用程序库为空 - 找不到 "jars"

java - 带 UI 的 Android 库

java - 如何使用 webflux 处理 Spring Boot 2 中的 HTTP OPTIONS 请求?

Java 8 Stream API : how to convert a List to a Map<Long, Set> 在列表中有重复的键?