我想创建一个光滑的java命令行应用程序,它不包含所有令人讨厌的“java -jar some.jar arguments”
相反,我会让它像一样工作program -option argument
像任何其他命令行应用程序一样。我使用ubuntu linux,如果它包含一些.sh脚本或任何东西,那就没问题了。我知道我可以用java -jar program.jar
和chmod +x file
创建一个文件,然后我可以用./file运行我,但是我怎样才能将参数传递给程序?
答案 0 :(得分:12)
使用
java -jar program.jar $1 $2 $3
访问脚本的第一,第二和第三个参数。
来自http://www.ibm.com/developerworks/library/l-bash2.html
的示例#!/usr/bin/env bash
echo name of script is $0
echo first argument is $1
echo second argument is $2
echo seventeenth argument is $17
echo number of arguments is $#
或者,甚至更好,像@nos建议的那样:
java -jar program.jar "$@"
答案 1 :(得分:0)
在 Linux 上,您可以使用binfmt。
答案 2 :(得分:0)
如果你想要真正光滑并且你在支持 bash 的平台上运行,你可以隐藏这样一个事实:你通过生成一个自我提取来完全从用户那里使用Java档案
请查看this post,了解有关如何实施自解压存档的一些提示。