首页 > 学院 > 开发设计 > 正文

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

2019-11-14 23:58:17
字体:
来源:转载
供稿:网友
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 fileEOT}    # ----------  end of function usage  ----------#-----------------------------------------------------------------------#  Handle command line arguments#-----------------------------------------------------------------------while getopts ":hp:j:" optdo  case $opt in    h|help    ) usage; exit 0   ;;    p|package ) package_name=$OPTARG ;;    j|jar     ) jar_file=$OPTARG ;;    /?        ) echo -e "/n  Option does not exist : $OPTARG/n"          usage; exit 1   ;;  esac    # --- end of case ---doneshift $(($OPTIND-1))if [[ -z $package_name ]]; then    echo "package_name can't not be empty"    usage    exitfiif [[ -z $jar_file ]]; then    echo "jar_file can't not be empty"    usage    exitfigenerate_wrapper_script(){    local wrapper_script=$1    cat <<-'EOT' >$wrapper_script#!/bin/shjava -jar $0 "$@"if [ $? -ne 0 ]; then    echo "run jar file failed."    exit 1fiexit 0#__SCRIPTEND__EOT}wrapfile=wrap_$$.shecho -e "start packing ../n"generate_wrapper_script $wrapfilecat $wrapfile $jar_file > $package_namechmod +x $package_nameecho -e "/noutput: $package_name/n"rm -f $wrapfile

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

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

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表