2010-05-20 39 views
5

我想打一个漂亮的Java命令行应用程序,它犯规包括所有讨厌的“Java的罐子some.jar参数”Java漂亮的命令行应用程序?

相反,我会对它的工作就像

program -option argument 

像任何其他命令行应用程序。我使用ubuntu linux,如果它包含一些.sh脚本或其他东西,它会很好。我知道我可以用java -jar program.jar创建一个文件,然后做chmod +x file,之后我可以用./file运行我,但是我怎样才能将参数传递给程序?

回答

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 "[email protected]" 
+6

或者只是将所有参数转发给java应用程序。例如'java -jar $ @' – nos 2010-05-20 10:35:19

+0

如果你愿意的话,把bash脚本放在bash中PATH – phoenix24 2010-05-20 10:54:31

+0

只是为了挑剔,我认为“$ @”可以更好地处理引用(引用每个参数,如果有空格在路径中,说)。男人bash会告诉你一定... – pdbartlett 2010-05-20 10:56:18

0

的Linux可以使用binfmt

0

如果你想要变得非常光滑,并且你正在运行一个支持bash的平台,你可以通过生成一个自解压存档来隐藏你完全从用户那里使用Java的事实。

看看this post关于如何实现自解压存档的一些提示。