我正在制作一个可以完全脱离闪存驱动器的便携式Minecraft,包括java。在我的家用电脑上.bat文件工作得很好,但是在学校电脑上它没有运行并且给我“java不被识别为内部或外部命令,可操作程序或批处理文件”让我相信批处理是在本地计算机上寻找java,因为我的意图是使用安装在闪存驱动器上的java便携式设备。
这是我的代码。
@echo off
Title Do not close this window
set APPDATA=%CD%\mcp_data
set JAVA_HOME=%CD%\mcp_data\Java\bin
java -Xmx3072M -jar "%CD%\mcp_data\launcher\MineCraft.jar"
答案 0 :(得分:2)
您永远不会将PATH变量设置为在任何地方包含java。你的家庭系统知道在哪里可以找到java的副本(因为它很可能也安装在你的机器上),但学校系统没有。
因此,您可以尝试更改学校计算机上的路径变量(您可能或可能没有权限,并留下他们可能不喜欢的路径),或者您可以将您的bat文件引用到闪存驱动器上的Java副本的完整路径名,即%CD%\mcp_data\Java\bin\java.exe
或java可执行文件的路径。
我建议使用完整路径名称,因为它在bat文件中,因此它更长的事实并不重要。
见下文。
@echo off
Title DO NOT CLOSE THIS WINDOW!!! Closing this window will force close MineCraft
set APPDATA=%CD%/mcp_data
"%CD%\mcp_data\Java\bin\java.exe" -Xmx3072m -Dorg.lwjgl.opengl.Display.allowSoftwareOpenGL=true -jar "%CD%\mcp_data\launcher\MineCraft.jar"