【问题标题】:Java slick command line app?Java 光滑的命令行应用程序?
【发布时间】:2010-05-20 10:29:47
【问题描述】:

我想制作一个不包含所有讨厌的“java -jar some.jar arguments”的漂亮的 java 命令行应用程序

相反,我会让它像这样工作

program -option argument

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

【问题讨论】:

    标签: java command-line


    【解决方案1】:

    使用

    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 "$@"
    

    【讨论】:

    • 或者只是将所有参数转发给 java app 。例如java -jar $@
    • 如果您愿意,请将 bash 脚本放在 bash PATH 中
    • 为了非常挑剔,我认为 "$@" 可以更好地处理引用(引用每个参数,如果路径中有空格,这很方便,比如说)。 man bash 肯定会告诉你...
    • @pdbartlett,你能详细说明一下吗?
    • 更好的是,使用java -jar program.jar "$@"。引号保持引用,因此您的参数也可以有空格。
    【解决方案2】:

    Linux 上,您可以使用 binfmt

    【讨论】:

      【解决方案3】:

      如果你想变得非常漂亮,并且你在一个支持 bash 的平台上运行,你可以通过生成一个自解压文件来向用户隐藏你正在使用 Java 的事实。存档。

      查看this post,了解有关如何实现自解压存档的一些提示。

      【讨论】:

        猜你喜欢
        • 2012-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多