【发布时间】:2014-05-01 18:29:41
【问题描述】:
我想创建一个批处理文件来直接运行 java 项目。我希望这个批处理文件要求我提示输入以在我的项目的运行时使用。
【问题讨论】:
标签: java batch-file
我想创建一个批处理文件来直接运行 java 项目。我希望这个批处理文件要求我提示输入以在我的项目的运行时使用。
【问题讨论】:
标签: java batch-file
【讨论】:
我同意前面的回答,即让您的 java 程序请求输入而不是尝试在批处理程序中进行输入更有意义。
你没有说你想在什么操作系统上运行它,这会对批处理文件或脚本文件产生一些影响。
其他会产生影响的因素是系统上的运行时环境以及“默认目录”是否重要。
要调用 java 运行时,系统必须将“java”识别为程序名称。在 Windows 和 Unix 上(因此,我认为在 Mac 上),这是通过“路径”变量完成的。路径是命令行处理器可用的“系统变量”,它列出了系统将在其中搜索命令的目录。为了让所有系统用户能够在命令行上使用“java”,需要全局设置路径,而您的脚本不能这样做;你必须找出如何在脚本之外设置它。
另外,您的脚本可以从其在系统上的绝对位置调用 java,但当然不同的计算机可能有不同的值。要求在给定系统上正确设置路径以运行脚本可能是最常见的答案,但您应该注意这个问题。
大多数系统都有运行程序的“默认目录”的概念。如果您的 java 程序打开文件“MyData.txt”,那么 java 运行时将在默认目录中查找该文件;如果它打开“..\MyData.txt”,它将在 Windows 系统上的默认同级目录中查找(注意反斜杠)等。它可以在绝对路径上打开文件,尽管这些文件往往是系统特定的.所以希望你的程序要么只在一种系统上运行,要么以一般方式处理文件,但如果你刚刚开始编写脚本来运行你的程序,你应该意识到这个问题。没有什么比程序运行良好但拒绝在任何其他环境中运行更令人沮丧的了,尤其是如果您没有意识到这些潜在的陷阱。
您也没有说程序是否主要是 UI 程序(具有点击式界面的程序);您还应该知道,有一些方法可以打包这样的程序,以便它可以作为一个图标出现在系统上,可以通过用鼠标单击它来运行。
【讨论】: