Mac 上的 Java

发布于 2024-12-11 19:31:35 字数 490 浏览 0 评论 0原文

我多年来一直在 Windows 上进行 Java 编程,现在才转向 Mac。

我正在运行以下命令,该命令在 PC 上有效,但在 Mac 上无效,我做错了什么。

java -classpath ./lib.patches/*:./lib.core/*:./lib.custom/* test.Test

这给了我一个 ClassNotFound 但 test.Test 位于路径中的一个 jar 中。

感谢您的所有帮助。

好的,我已经进一步调试,当我运行这个命令时,

java -cp . test.Test

我已经解决了!

该脚本是从 PC 复制的,并且以错误的回车符结束该行。

这产生了创建 ClassNotFound 的奇怪结果。

从命令行它可以工作,但从脚本它抛出 ClassNotFound - 一定是 Mac 问题......

I've been programming Java on windows for ages and just moved to the Mac.

I'm running the following command which works on the PC but doesn't on a Mac what am I doing wrong.

java -classpath ./lib.patches/*:./lib.core/*:./lib.custom/* test.Test

This gives me a ClassNotFound but test.Test is in a one of the jars in the path.

Thanks for all help.

OK I've debugged further and when I run this command

java -cp . test.Test

I've worked it out!!

The script was copied from a PC and had the wrong returns to end the lines.

This had the bizarre outcome of creating a ClassNotFound.

from the command line it works but from a script it throws ClassNotFound - must be a Mac issue ...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

轮廓§ 2024-12-18 19:31:35

对我来说效果很好。 (转义以表明它与 shell 通配无关,但它可以以任何方式工作。)

lucene-core 位于目录 1 中,lucene demo 位于目录 2 中,或两者都位于单个目录中:

...lucene/lucene-3.4.0/tmp $ echo $CLASSPATH

...lucene/lucene-3.4.0/tmp $ java -cp ./1/\*:./2/\* org.apache.lucene.demo.IndexFiles -docs .
Indexing to directory 'index'...
adding ./1/lucene-core-3.4.0.jar
adding ./2/lucene-demo-3.4.0.jar
adding ./index/_0.fdt
adding ./index/_0.fdx
adding ./index/write.lock
1605 total milliseconds

如果您还需要基于当前目录的类文件,您应该显式地将 . 路径添加到类路径中。

Works fine for me. (Escaping to show it's not related to shell globbing, but it works either way.)

With lucene-core in directory 1 and lucene demo in directory 2, or both in a single directory:

...lucene/lucene-3.4.0/tmp $ echo $CLASSPATH

...lucene/lucene-3.4.0/tmp $ java -cp ./1/\*:./2/\* org.apache.lucene.demo.IndexFiles -docs .
Indexing to directory 'index'...
adding ./1/lucene-core-3.4.0.jar
adding ./2/lucene-demo-3.4.0.jar
adding ./index/_0.fdt
adding ./index/_0.fdx
adding ./index/write.lock
1605 total milliseconds

If you also need class files based off the current directory, you should explicitly add the . path to the classpath.

甲如呢乙后呢 2024-12-18 19:31:35

验证 @Dave Newton 的结果

$ java -version
java version "1.6.0_26"

使用ThermometerDemo,此命令有效:

$ java -cp /opt/jfreechart/*:build/classes chart.ThermometerDemo

Verifying @Dave Newton's result, using

$ java -version
java version "1.6.0_26"

with ThermometerDemo, this command works:

$ java -cp /opt/jfreechart/*:build/classes chart.ThermometerDemo
御守 2024-12-18 19:31:35

尝试

java -cp './lib.patches/*:./lib.core/*:./lib.custom/*' test.Test

代替

try

java -cp './lib.patches/*:./lib.core/*:./lib.custom/*' test.Test

instead

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文