5

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

我知道在命令行中我可以写 javacMain.java

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

如果我希望能够只编写main test.txt并触发我的Main.class文件运行,那是可能的,如果是这样的话怎么办?

4

3 回答 3

1

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

alias main='java main'

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

于 2012-09-21T21:18:09.207 回答
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。$1 传递参数自变量 fyi。

#!/bin/sh
java Main $1

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

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

于 2012-09-21T21:18:43.640 回答
0

取决于您的操作系统。例如,在带有 bash shell 的 Linux 上,您可以设置一个别名来扩展您mainjava -cp myjar.jar main.

Linux 也可以配置为“理解”Java 类苍蝇作为二进制格式,直接参见此处(Linux 内核文档)。

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

祝你好运!

于 2012-09-21T21:16:35.933 回答