我正在编写一个简单的批处理脚本,以更快地执行游戏(出于开发环境的目的),但是我似乎无法将适当的命令行参数传递给可执行文件:
@ECHO OFF
set USERNAME=Testing
set MCDIR=%APPDATA%/.minecraft/
set GAMEDIR=%MCDIR%/versions/1.7.5/
set NATIVES=%GAMEDIR%/natives/
java -client -Xmx512M -Xms512M ^
-Djava.library.path=%NATIVES% ^
-cp %GAMEDIR%/1.7.5.jar:^
%MCDIR%/libraries/java3d/vecmath/1.3.1/vecmath-1.3.1.jar:^
%MCDIR%/libraries/net/sf/trove4j/trove4j/3.0.3/trove4j-3.0.3.jar:^
##etc... lots of libs
%MCDIR%/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.1/lwjgl_util-2.9.1.jar:^
%MCDIR%/libraries/org/lwjgl/lwjgl/lwjgl-platform/2.9.1/lwjgl-platform-2.9.1-natives-windows.jar:^
%MCDIR%/libraries/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows.jar:^
net.minecraft.client.main.Main --username=%USERNAME% --version 1.7.5 --gameDir %MCDIR% --assetsDir %MCDIR%/assets --userProperties {} --accessToken Offline
pause然而,这个小脚本一旦超出了client.main.Main的任何参数,它就会失败,有效地将它当作JVM参数而不是命令行程序参数。在使用-cp而不是-jar调用java程序时,是否有不同的方法来执行此操作?如果没有,我做错了什么?
发布于 2014-03-28 00:10:21
在路径的末尾(最后一个^)和您的Main类之间似乎没有空间,因此Main类实际上是-cp JVM参数的一部分。还没有类,所以java仍然可以看到JVM。
尝试在-cp值和net.minecraft.client.main.Main的最后一部分之后放置一个空格,以便在命令行中分隔-cp值和类。
https://stackoverflow.com/questions/22701720
复制相似问题