[亲测有效]BAT批处理脚本执行Jar包,使用自带Java环境Jre

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

问题场景


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


脚本

Windows:


client.bat

@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:


client.sh

#!/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

注意


jre/bin目录需要替换成自己本地jre目录文件夹名称


test.jar需要修改成自己工程的jar包名称


参考https://blog.csdn.net/sand_clock/article/details/72520452


相关文章
|
1月前
|
SQL Oracle Java
sql文件批处理程序-java桌面应用
sql文件批处理程序-java桌面应用
25 0
|
1月前
|
Java 开发工具 Windows
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
|
1月前
|
网络协议 Java Nacos
Nacos报错问题之jar 包启动就报错误如何解决
Nacos是一个开源的、易于部署的动态服务发现、配置管理和服务管理平台,旨在帮助微服务架构下的应用进行快速配置更新和服务治理;在实际运用中,用户可能会遇到各种报错,本合集将常见的Nacos报错问题进行归纳和解答,以便使用者能够快速定位和解决这些问题。
|
1月前
|
Java Shell Docker
Docker启动后怎样运行jar包文件
Docker启动后怎样运行jar包文件
|
24天前
|
Java Maven 微服务
springboot项目开启远程调试-jar包
springboot项目开启远程调试-jar包
19 0
|
2天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
23 3
|
15天前
|
Java 应用服务中间件 Linux
Caused by: java.lang.UnsatisfiedLinkError: /root/jdk1.7.0_45/jre/lib/amd64/xawt/libmawt.so: libXrend
Caused by: java.lang.UnsatisfiedLinkError: /root/jdk1.7.0_45/jre/lib/amd64/xawt/libmawt.so: libXrend
|
22天前
|
Java
java中jar启动设置内存大小java -jar 设置堆栈内存大小
java中jar启动设置内存大小java -jar 设置堆栈内存大小
11 1
|
30天前
|
Java Serverless 测试技术
Serverless 应用引擎常见问题之上传自定义jar包自动vpc启动报错如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
32 4
|
1月前
|
NoSQL Java 应用服务中间件
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包