gpt4 book ai didi

java - 运行 Java 命令,包括当前文件夹中的所有 JAR

转载 作者:行者123 更新时间:2023-12-01 14:28:43 24 4
gpt4 key购买 nike

我刚刚从 IDE 切换回记事本来编写 Java 程序。该程序使用了 20 个 JAR。我编译成功。当我决定使用运行 Java 类文件时

java -cp ".\\*" MyProgram

它给出了标准错误“无法找到或加载主类......”。

我很困惑,因为当我以前运行 java 时命令与现有文件夹中的所有文件,它只会获取那些 JAR,因为当前文件夹已经在类路径中。由于程序从当前文件夹运行,我尝试使用 -cp "."将它明确包含在类路径中,但这也不起作用。

最后,我能够使用以下命令运行程序:
java -cp ".\\*;." MyProgram.java

我问这个问题是为了理解 Java 类路径背后的实际逻辑。

如果我错了,请纠正我,但我认为 JAR 只是一个标准存档,其中所有包都封装在各自的文件夹中。如果所有 JAR 都在我当前的文件夹中,包括我的主类文件,那么为什么我不能运行它:
java -cp "." MyProgram 

或者干脆:
java MyProgram

如果问题在于要包含多个 JAR 文件,这就是我们使用 ".\\*" 的原因要在类路径中包含所有 JAR,那么为什么我们必须使用以下方法在类路径中再次显式包含当前文件夹:
java ".\\*;." MyProgram

最佳答案

要包含在命令提示符下运行程序所需的所有 jar,请使用通配符 *:

java -classpath E:\lib\* HelloWorld

您正在使用 “。” 定义当前目录和 “./*”定义当前目录下的所有文件。

关于java - 运行 Java 命令,包括当前文件夹中的所有 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46658416/

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