gpt4 book ai didi

java - Mac OS 上的类路径错误

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

我创建了一个 Java 应用程序,它使用 java -cp "xxx.jar;xxx.jar" net.minecraft.client.main.Main 运行另一个 Java 代码。命令。 ; (或 : 取决于操作系统)两个 JAR 之间的类路径由 System.getProperty("path.separator") 提供。功能。

在 Windows 上它可以正常工作,但在 Mac OS 上则不行。 Java 说无法找到或加载主类 net.minecraft.client.main.Main 。我检查过,类路径的 JARS 拼写正确并且存在于硬盘驱动器上的正确路径上。

这是整个命令( /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java 是 Java 可执行文件的路径):

http://pastebin.com/8V3pg07q

你能帮我吗?我不需要有关如何玩 Minecraft 的帮助,它不是官方启动器(这是我制作的,显然不适用于 Mac OS),所以不要告诉我在 Minecraft 论坛上寻求帮助:

谢谢!

最佳答案

不清楚“我测试了即使在 Mac OS 上也强制使用 ;”的含义,但基本上,当您运行新的 Java 进程时,您应该为平台使用正确的路径分隔符。

所以在 Windows 上你会想要:

java -cp xxx.jar;yyy.jar

在 Unix 上你会想要

java -cp xxx.jar:yyy.jar

在构建命令行参数的代码中,只需确保正确使用 path.separator 属性(或更简单地说 File.pathSeparator ),以便可以构建正确的命令无需检测实际操作系统。

编辑:我不知道为什么这目前不适合您,除非是因为命令行本身太长。

您可以考虑将所有相关的 jar 文件放入一个目录中,然后使用:

java -cp 'somedirectory/*' net.minecraft.client.main.Main

或者,使用 extensions mechanism ...但这是最后的手段,并且可能会导致其他问题。

关于java - Mac OS 上的类路径错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22747346/

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