繁体   English   中英

Mac OS上的类路径错误

[英]Classpath error on Mac OS

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

在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论坛上寻求帮助: P

谢谢 !

尚不清楚“我已经测试过强制使用;甚至在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

或者,使用扩展机制 ...但这是不得已的做法,并且可能导致其他问题。

暂无
暂无

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

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