【问题标题】:How to set the classpath in java in ubuntu and how to work with jar?如何在 ubuntu 中设置 java 中的类路径以及如何使用 jar?
【发布时间】:2017-10-20 14:23:59
【问题描述】:

我正在尝试从 jar 文件中导入类。我想把所有的jar文件放在目录下:

/home/somebody/lib/java/

用下面给出的命令编译说:

com.a.A 包不退出**。 java C.java

我在配置文件中设置了以下内容。

CLASSPATH=/home/somebody/lib/java

然后导出它。也添加到PATH

C.java

import com.a.A;
import com.a.AA;
import com.b.B;
import com.b.BB;

class B {
    public static void main() {
        new A();
        new AA();
        new B();
        new BB();
    }
}

类文件位于以下 jar_file a.jarb.jar

【问题讨论】:

    标签: java ubuntu jar classpath


    【解决方案1】:

    您应该将您的 jar 文件 添加到您的 CLASSPATH 中:

    export CLASSPATH=/home/somebody/lib/java/a.jar:/home/somebody/lib/java/b.jar
    

    类路径支持目录(带有*.class 文件) 单个 jar 文件。您还可以添加 通配符(或使用 java -classpath 选项),但我暂时不使用它,以免使事情进一步复杂化;)

    顺便说一句,您根本不需要更改 PATH 环境变量。 CLASSPATH 绰绰有余。

    【讨论】:

    • 谢谢@Paulo...如果假设我们必须从多个 jar 文件中添加文件,比如三个或四个 jar 文件,是否有任何其他方法会更方便,以防万一...
    • 试试这个'/home/somebody/lib/java/*.jar'。棘手的部分是确保您的外壳不会为您扩展通配符。无论如何,我认为我的建议应该可以正常工作;)
    • 使用CLASSPATH 环境变量通常不是一个好主意,因为它会影响每个Java 程序。通常你希望不同的程序有不同的类路径,所以你不想这样做。
    【解决方案2】:

    根据documentation

    在命令中使用类路径选项(-classpath-cp)比使用全局 CLASSPATH 环境变量更好。

    【讨论】:

      猜你喜欢
      • 2012-03-25
      • 2014-09-09
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-01
      相关资源
      最近更新 更多