gpt4 book ai didi

java - 何时检查和使用 Jar 文件中的 Class-Path 属性

转载 作者:行者123 更新时间:2023-12-01 15:51:41 27 4
gpt4 key购买 nike

我有一个学术问题,但在 Sun/Oracle 中找不到相应的文档。

我有一组 Jar 文件,java vm 是这样启动的:

java -cp one.jar:two.jar:helper.jar my.company.project.Main

如您所见,我没有使用-jar选项,而是提供了一个类路径。helper.jar 只有一个 list 文件,定义了包含所需的其余 jar 文件的类路径。

由于我没有使用 -jar 命令行选项,我想知道是否评估并使用了该 list 类路径。 (是的,我知道 -jar 的作用,我知道 Main-Class 的用途,并且我知道如何将类路径与 -jar 结合使用。我只不知道它是否可以使用-jar)

或者澄清我的问题:它工作可靠吗,并且在 Sun/Oracle 官方文档中记录在案吗?

谢谢

最佳答案

从 JAR 文件加载类时,JAR 文件 list 中的类路径条目始终用于扩展类路径。无论您是否使用 -jar 开关,都没有什么区别。

事实上,我对这种行为感到惊讶,但使用两个类 A 和 B 的简单示例可以轻松重现它。让 A 引用 B。将每个类放入其自己的 JAR 文件中。将 list 添加到 A.jar,其中包含 Class-Path: B.jar。那么下面的命令将正确解析B: java -cp A.jar A

此处也对此进行了描述 How the Java Launcher Finds JAR-class-path Classes Java 启动器如何查找 JAR-class-path 类部分。

关于java - 何时检查和使用 Jar 文件中的 Class-Path 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5900196/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com