制作“宏”命令来运行程序

时间:2012-09-21 21:11:26

标签: java command-line

我有一个Main.java文件,我想运行传递它的程序test.txt

我知道在命令行中我可以编写javac Main.java

编译完成后,我可以编写java Main test.txt,这将完成运行文件并传递test.txt

如果我希望能够只编写main test.txt并且触发我的Main.class文件就可以运行,如果可以的话,该怎么办?

3 个答案:

答案 0 :(得分:1)

添加别名 例如在mac下使用以下行编辑你的.bash_profile

alias main='java main'

不要忘记打开一个新的控制台,看看你的别名是否正常工作

答案 1 :(得分:1)

(编辑:根据您的评论,让我展开以添加更多情况)

如果您的目标是让其他人运行您没有安装Java的程序,并且您不希望让他们在运行您的应用程序之前安装Java运行时环境,那么您需要的是一个转换.class的程序或.jar文件到您正在使用的平台的本机可执行文件中。其他问题涉及如何做到这一点,例如:Compiling a java program into an executable。基本上,您使用JCG(GNU Compiler for Java)或Excelsior JET(商业产品)等程序将字节代码扩展为内置mini-JRE的完整本机代码。

如果您的目标是保存输入,则有许多策略。其他人提出了别名命令,这些命令在linux上运行良好。

您可以随程序一起提供的稍微便携的选项是shell脚本。当然,shell脚本只能在安装了shell脚本解释器的linux或其他操作系统上运行。

这是一个示例shell脚本。您将其粘贴到文本编辑器中并将其保存为main而没有extensio。 $ 1传递参数参数fyi。

#!/bin/sh
java Main $1

假设您将shell脚本命名为“main”而没有扩展名,您可以调用main test.txt来执行您的程序。

如果您使用的是Windows,则可能需要创建一个Windows快捷方式,并将快捷方式指向“java Main test.text”,必要时使用完整路径(如果路径尚未设置)。当然,这并不会使每次运行时都容易更改参数,您必须编辑快捷方式。

答案 2 :(得分:0)

取决于您的操作系统。例如,在使用bash shell的Linux上,您可以设置alias以将main扩展为java -cp myjar.jar main

Linux也可以配置为“理解”Java类苍蝇作为二进制格式直接看here(linux内核文档)。

如果你在Windows上,你将不得不等待那些比我更了解的人的回答。

祝你好运!