Giter Site home page Giter Site logo

jar-runner's Introduction

JarRunner

启动或停止 jar 文件的小程序
主要是对 batshell 不熟 (不是)

Intro

jdk8+ ,且已添加到环境变量
利用 java 运行环境内置的 jps 命令读取和判断程序的运行, 目前仅在 windows 下测试

start

{#} 分隔 jvm参数和程序参数

java -Xms215m -Xmx1024m -jar mycus.jar

java -jar JarRunner.jar start mycus.jar -Xms215m -Xmx1024m {#}

java -jar mycus.jar -Dlogging.file=./out.log --server.port=8308

java -jar JarRunner.jar start mycus.jar {#} -Dlogging.file=./out.log --server.port=8308

java -Xms215m -Xmx1024m -jar mycus.jar -Dlogging.file=./out.log --server.port=8308

java -jar JarRunner.jar start mycus.jar -Xms215m -Xmx1024m {#} -Dlogging.file=./out.log --server.port=8308

stop

(windows如遇stop不能正常工作,请用管理员身份执行)

java -jar JarRunner.jar stop mycus.jar

# with force
java -jar JarRunner.jar stop mycus.jar -f 

restart

start

java -jar JarRunner.jar restart ....

bat

使用脚本简化, 创建 run.bat,内容如下

@echo off
echo "usage: run.bat start|stop|restart"

::: jar file
set APP=mycus-SNAPSHOT.jar
::: jar's jvm options
set JVM_ARGS=-Xms215m
::: jar's program arguments
set PROGRAM_ARGS=-Dlogging.file=logs/out.log --server.port=8308 --spring.profiles.active=dev

set START_ARGS=java -jar JarRunner.jar %1 %APP%
::: set START_ARGS=java -jar JarRunner.jar %1 %APP% %JVM_ARGS% {#} %PROGRAM_ARGS%
if "%1" == "start" (
  goto appendArgs
) else if "%1" == "restart" (
  goto appendArgs
) else if "%1" == "stop" (
  if exist "%2"!="" (
    set START_ARGS=%START_ARGS% %2
  )
) else (
  goto execStart
)

::: 添加启动参数
:appendArgs
set START_ARGS=%START_ARGS% %JVM_ARGS% {#} %PROGRAM_ARGS%

::: 执行
:execStart
echo %START_ARGS%

::: start %START_ARGS%
%START_ARGS%

使用方式(如遇stop不能正常工作,请用管理员身份执行):

run.bat "start"|"restart"
run.bat stop [-f]

警告

jps 找不到 windows 服务启动的 jar 程序! 但可以通过 java -jar JarRunner stop xxx.jar -f 停止程序。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.