繁体   English   中英

Java 类路径问题“。” 与'./*'

[英]Java classpath issue '.' vs. './*'

我正在尝试从命令行编译和运行一个简单的 java hello world 程序。

当我这样做时,它会成功编译并运行:

> javac HelloWorld.java
> java HelloWorld

但是,当我在这个 hello world 程序中放置 jar 依赖项并将相应的 jar 放在同一目录中时,我遇到了类路径问题。

我可以编译:

> javac -cp ./* HelloWorld.java

但是当我尝试在指定 jar 的类路径时运行时,找不到我的 HelloWorld class。

> java -cp ./* HelloWorld
Error: Could not find or load main class HelloWorld

当 classpath 为./*时,找到 jar 但未找到 class,并且当 classpath 为. ,找到了 class,但没有找到 jar。

我也尝试同时指定两者,但是每当我在类路径中使用:时,都找不到主要的 class 。

> java -cp "./*:." HelloWorld
Error: Could not find or load main class HelloWorld

如何为 java 指定类路径以找到 jar 和我的 class?

在 powershell 中,一种解决方案是使用; 而不是:

即这适用于 powershell:

> java -cp "./*;." HelloWorld
hello, world

尝试的想法来自对这个问题的回答:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM