脚本执行jar包(使用自带jre)

8 篇文章 0 订阅

问题场景

写好了一个jar包,使用了Java8的新特性,需要发布给客户,考虑到客户并不一定会使用Java8,所以就把JRE8一起发布了,分为Windows和Linux两个版本,各自写了一个脚本来运行。

脚本运行目录预览

Windows:

这里写图片描述

Linux:

这里写图片描述

使用方法

分别进入上图的目录执行:

Windows: call client.bat <parameter1 parameter2 ...>

Linux: ./start.sh <parameter1 parameter2 ...>

脚本

Windows:

@echo off

rem The running environment of test.jar is jdk1.8 at least.

if "%OS%" == "Windows_NT" setlocal
rem ---------------------------------------------------------------------------
rem Start script for the xxx client
rem ---------------------------------------------------------------------------

set "CURRENT_DIR=%cd%"
set "JRE_HOME=%CURRENT_DIR%"
if exist "%JRE_HOME%\jre\bin\java.exe" goto okHome
cd ..
set "JRE_HOME=%cd%"
cd "%CURRENT_DIR%"
:okHome

set "EXECUTABLE=%JRE_HOME%\jre\bin\java.exe"

rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end

:okExec

rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs

cd jre\bin
java -jar %JRE_HOME%\test.jar %CMD_LINE_ARGS%

:end

Linux:

#!/usr/bin/env bash

# This is a shell for running test.

var="test"
dir=`pwd`

if [ ${var} = ${dir##*/} ];
   then
      ./jre/bin/java -jar ${dir}/test.jar "$@"
else
    echo "U should enter in directory ${var}, and type ./start.sh parameterlist"
fi
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值