2011-11-26 34 views

回答

5

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

java MyProgram param1 param2... 

,就是这样。启动时,程序可以使用扫描仪提示用户输入参数,请参阅example以获得帮助。

+2

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

5

我同意以前的答案,让您的java程序请求输入更有意义,而不是尝试在批处理程序中执行它。

你不说什么操作系统(s)你想运行这个,这将有所不同的批处理文件或脚本文件。

其他会影响系统运行的环境以及“默认目录”是否显着。

要调用java运行时,系统必须将'java'识别为程序名。在Windows和Unix上(因此,我认为,在Mac上),这是通过一个'路径'变量完成的。路径是一个“系统变量”,可用于命令行处理器,列出系统将在其中搜索命令的目录。对于所有系统用户能够在命令行上使用“java”,路径将需要全局设置,并且脚本不能这样做;你必须找出如何在脚本之外设置它。或者,您的脚本可以从系统上的绝对位置调用java,但当然不同的计算机可能具有不同的值。要求在给定系统上为脚本运行正确的路径可能是最常见的答案,但您应该意识到问题。

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

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