创建批处理文件以运行Java程序

创建批处理文件以运行Java程序,java,batch-file,Java,Batch File,我想创建一个批处理文件来直接运行java项目。我希望此批处理文件要求我提示在项目运行时使用的输入。批处理文件应包含以下行: java MyProgram param1 param2... 就这样。启动时,您的程序可以使用Scanner提示用户输入参数,请参阅以获取帮助。我同意前面的回答,即让您的java程序请求输入比尝试在批处理程序中输入更有意义 您没有说明要在什么操作系统上运行此操作,这将对批处理文件或脚本文件产生一些影响 其他将产生影响的因素是系统上的运行时环境以及“默认目录”是否重要 要

我想创建一个批处理文件来直接运行java项目。我希望此批处理文件要求我提示在项目运行时使用的输入。

批处理文件应包含以下行:

java MyProgram param1 param2...

就这样。启动时,您的程序可以使用Scanner提示用户输入参数,请参阅以获取帮助。

我同意前面的回答,即让您的java程序请求输入比尝试在批处理程序中输入更有意义

您没有说明要在什么操作系统上运行此操作,这将对批处理文件或脚本文件产生一些影响

其他将产生影响的因素是系统上的运行时环境以及“默认目录”是否重要

要调用java运行时,系统必须将“java”识别为程序名。在Windows和Unix上(因此,我认为在Mac上),这是通过“path”变量完成的。路径是一个“系统变量”,可供命令行处理器使用,它列出了系统将在其中搜索命令的目录。为了让所有系统用户能够在命令行上使用“java”,需要全局设置路径,而您的脚本不能这样做;您必须了解如何在脚本之外设置它

或者,您的脚本可以从java在系统中的绝对位置调用java,但当然不同的计算机可能有不同的值。要求在给定系统上正确设置脚本运行的路径可能是最常见的答案,但您应该知道这个问题

大多数系统都有运行程序的“默认目录”概念。如果java程序打开文件“MyData.txt”,那么java运行时将在默认目录中查找该文件;如果打开“.\MyData.txt”,它将在Windows系统上的默认同级目录中查找(注意反斜杠),等等。它可以在绝对路径上打开文件,尽管这些文件往往是系统特定的。因此,希望您的程序只能在一种系统上运行,或者以一般方式处理文件,但是如果您刚刚开始编写脚本来运行您的程序,您应该注意这个问题。没有什么比一个程序更令人沮丧了,它以您为开发设置的方式运行良好,但拒绝在任何其他环境中运行,特别是如果您没有意识到这些潜在的陷阱


你也不会说这个程序是否主要是一个UI程序(一个有点击界面的程序);您还应该知道,有一些方法可以打包这样一个程序,以便它可以作为一个图标显示在系统上,可以通过鼠标单击它来运行。

很好的方法。它有助于解决在3个不同的主要平台上处理复杂启动脚本的麻烦。