• 〖Linux〗将Jar文件打包成Linux可执行文件


    因为不想敲写 java -jar jarfile,而是想直接敲写  ./jarfile 就能够跑起程序

    #!/bin/bash - 
    #===============================================================================
    #
    #          FILE: shell_pack.sh
    # 
    #         USAGE: ./shell_pack.sh 
    # 
    #   DESCRIPTION: 
    # 
    #       OPTIONS: ---
    #  REQUIREMENTS: ---
    #          BUGS: ---
    #         NOTES: ---
    #        AUTHOR: lwq (28120), scue@vip.qq.com
    #  ORGANIZATION: 
    #       CREATED: 04/22/2015 02:38:01 PM CST
    #      REVISION:  ---
    #===============================================================================
    
    #===  FUNCTION  ================================================================
    #         NAME:  usage
    #  DESCRIPTION:  Display usage information.
    #===============================================================================
    function usage ()
    {
            cat <<- EOT
    
      Usage :  $0 [options] -p package -s script file1 file2 file3 ..
    
      Options:
      -h|help       Display this message
      -p|package    The output package name
      -j|jar file   The jar file
    
    EOT
    }    # ----------  end of function usage  ----------
    
    #-----------------------------------------------------------------------
    #  Handle command line arguments
    #-----------------------------------------------------------------------
    
    while getopts ":hp:j:" opt
    do
      case $opt in
    
        h|help    ) usage; exit 0   ;;
        p|package ) package_name=$OPTARG ;;
        j|jar     ) jar_file=$OPTARG ;;
        ?        ) echo -e "
      Option does not exist : $OPTARG
    "
              usage; exit 1   ;;
    
      esac    # --- end of case ---
    done
    shift $(($OPTIND-1))
    
    if [[ -z $package_name ]]; then
        echo "package_name can't not be empty"
        usage
        exit
    fi
    
    if [[ -z $jar_file ]]; then
        echo "jar_file can't not be empty"
        usage
        exit
    fi
    
    generate_wrapper_script(){
        local wrapper_script=$1
        cat <<-'EOT' >$wrapper_script
    #!/bin/sh
    java -jar $0 "$@"
    if [ $? -ne 0 ]; then
        echo "run jar file failed."
        exit 1
    fi
    exit 0
    #__SCRIPTEND__
    EOT
    }
    
    wrapfile=wrap_$$.sh
    
    echo -e "start packing ..
    "
    generate_wrapper_script $wrapfile
    cat $wrapfile $jar_file > $package_name
    chmod +x $package_name
    
    echo -e "
    output: $package_name
    "
    
    rm -f $wrapfile

    保存到 jar_wrapper.sh,使用方法举例:

      ./jar_wrapper.sh -p /tmp/aaa -j /tmp/test_demo1.jar

    然后,chmod +x /tmp/aaa && /tmp/aaa 就能够跑起程序来了~!

  • 相关阅读:
    RF04 Variables
    RF06 Settings
    RF05 Keywords
    Nginx介绍
    javascript中的迷惑点
    javascript中的undefined和null
    常见博客网站的robots.txt
    CSS层叠样式表
    web前端校验
    了解javascript
  • 原文地址:https://www.cnblogs.com/scue/p/4461014.html
Copyright © 2020-2023  润新知