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

#!/bin/bash -
#===============================================================================
#
# FILE: shell_pack.sh
#
# USAGE: ./shell_pack.sh
#
# DESCRIPTION:
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: lwq (), scue@vip.qq.com
# ORGANIZATION:
# CREATED: // :: PM CST
# REVISION: ---
#=============================================================================== #=== FUNCTION ================================================================
# NAME: usage
# DESCRIPTION: Display usage information.
#===============================================================================
function usage ()
{
cat <<- EOT Usage : $ [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 ;;
p|package ) package_name=$OPTARG ;;
j|jar ) jar_file=$OPTARG ;;
\? ) echo -e "\n Option does not exist : $OPTARG\n"
usage; exit ;; esac # --- end of case ---
done
shift $(($OPTIND-)) 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=$
cat <<-'EOT' >$wrapper_script
#!/bin/sh
java -jar $ "$@"
if [ $? -ne ]; then
echo "run jar file failed."
exit
fi
exit
#__SCRIPTEND__
EOT
} wrapfile=wrap_$$.sh echo -e "start packing ..\n"
generate_wrapper_script $wrapfile
cat $wrapfile $jar_file > $package_name
chmod +x $package_name echo -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 就能够跑起程序来了~!

〖Linux〗将Jar文件打包成Linux可执行文件的更多相关文章

  1. 如何把py文件打包成exe可执行文件

    如何把py文件打包成exe可执行文件 1.安装 pip install pyinstaller 或者 pip install -i https://pypi.douban.com/simple pyi ...

  2. 将jar文件转换成exe可执行文件[转]

    将jar文件转换成exe可执行文件: exe文件使用方便,而且还可以提高源码及资源的安全性,但同时也失去了java的初衷--跨平台性. 如果你坚持要转换成exe文件,请按以下方式进行: 利用exe4j ...

  3. PyQt(Python+Qt)学习随笔:windows下使用pyinstaller将PyQt文件打包成exe可执行文件

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<windows下使用pyinstaller将多个目录的Pyt ...

  4. windows下如何将Python文件打包成.exe可执行文件

    在使用Python做开发的时候,时不时会给自己编写了一些小工具辅助自己的工作,但是由于开发依赖环境问题,多数只能在自己电脑上运行,拿到其它电脑后就没法运行了.这显得很不方便,不符合我们的初衷,那么有没 ...

  5. windows下使用pyinstaller将多个目录的Python文件打包成exe可执行文件

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 需要将一个工程涉及两个目录的模块文件打包成exe,打包环境如 ...

  6. java jar文件打包成exe(Launch4j使用说明)

    在日常的项目中需要把jar打包成exe.怎样快速的实现此功能.下面通过Launch4j的使用方法来介绍整个打包过程. 第一步:生成jar文件 第二部:使用Launch4j 图来描述过,简单明了.一切尽 ...

  7. 网页文件打包成.exe可执行文件

    网页文件不止可以通过浏览器打开,也可以通过打包程序打包成.exe桌面可执行程序,这样写的网页文件就可以像桌面应用一样打开了.方法如下: 工具:NW.js.Enigma Virtual Box.资源编辑 ...

  8. Python的.py文件打包成exe可执行文件

    前几天做了几个简单的爬虫python程序,于是就想做个窗口看看效果. 首先是,窗口的话,以前没怎么接触过,就先考虑用Qt制作简单的ui.这里用前面sinanews的爬虫脚本为例,制作一个获取当天sin ...

  9. windows下使用pyinstaller把python文件打包成exe可执行文件

    使用pyinstaller打包有个好处就是所有依赖都打包进去了,可以随意把文件移动到别的电脑上使用 安装 pip install pyinstaller 新建一个demo.py文件 #!/usr/bi ...

随机推荐

  1. XML和JSON优缺点

    <1>.XML的优点 A.格式统一,符合标准: B.容易与其他系统进行远程交互,数据共享比较方便.<2>.XML的缺点 A.XML文件庞大,文件格式复杂,传输占带宽: B.服务 ...

  2. Redis 在线管理工具(phpRedisAdmin)介绍

    phpRedisAdmin is a simple web interface to manage Redis databases. phpRedisAdmin 在 Redis clients 的列表 ...

  3. sort命令的使用,结合uniq, awk等

    这条命令的意思:lastb | awk -F " " '{print $3}' | sort | uniq -c | sort -k1,1nr > output.log 过滤 ...

  4. centos:添加用户

    初步进入centos学习,配置用户 1,创建用户 创建用户 hadoop [root@master spark]# useradd hadoop [root@master spark]# 2,创建密码 ...

  5. JPA(七):映射关联关系------映射双向多对一的关联关系

    映射双向多对一的关联关系 修改Customer.java package com.dx.jpa.singlemanytoone; import java.util.Date; import java. ...

  6. 转:Raft一致性选举算法的ppt与视频

    http://xiaorui.cc/2016/07/08/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB-%E3%80%8A%E5%88%86%E5%B8%83%E5%BC% ...

  7. 红米除线刷的另外一种救砖方法fastboot

    原文来自:https://jingyan.baidu.com/article/48a42057e945bca9242504d7.html , 按照它操做了一下,虽然没有救活我的红米1,但是让我更好的了 ...

  8. oauth2-server-php-docs 集成3

    Yii集成 对于Yii集成,请通过Filsh查看Yii OAuth2服务器资源库 CakePHP的 有关CakePHP中集成的这个库的示例,请参阅Qsoomro CakePHP OAuth2 Demo ...

  9. 关于Linux路由表的route命令

    转自:http://www.cnblogs.com/gunl/archive/2010/09/14/1826234.html 查看 Linux 内核路由表 使用下面的 route 命令可以查看 Lin ...

  10. C++ 纯虚方法

    1.纯虚方法解决什么样的问题,为什么要设计出纯虚方法? 考虑下面的需求,基类声明了一个方法,这个方法只针对具体的子类才有意义,比如Animal的Eat()方法,调用Animal的Eat方法是没有意义的 ...