Windows部署Jar包的三种方式图文详解

 更新时间:2023年07月21日 10:59:06   作者:程序员大佬超  
使用Java编写了一些有用的工具,因为不方便部署到服务器上,所以需要把Java生成的jar包在本地Windows上部署,这篇文章主要给大家介绍了关于Windows部署Jar包的三种方式,需要的朋友可以参考下

1、cmd命令启动

这种方式比较简单,但是窗口关闭后服务也就被杀死了,命令如下

java -jar xxx.jar

2、bat脚本启动

2.1 启动jar包

新建一个bat脚本,内容如下:

@echo off
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
java -jar F:\IdeaProjects\im-api\target\im-api-0.0.1-SNAPSHOT.jar > imApiLog.log  2>&1 &
exit

其中F:\IdeaProjects\im-api\target\im-api-0.0.1-SNAPSHOT.jar是我jar包的绝对路径,imApiLog.log将日志存储到该文件。右键该bat文件以管理员方式运行即可。

注:听大佬超的,bat文件路径不要有空格,jar包路径别有中文,否则会出现Error: Unable to access jarfile。

2.2 关闭服务

根据项目的端口号,查看端口进程,然后杀死进程即可

netstat -ano|findstr 8088 # 根据端口号查进程
taskkill /f /pid 13968   # 根据进程id杀进程(/f:强制结束该进程以及所有子进程)

以上两种方式都有点不太利于后期维护,请接着往下看。

3、使用WinSW

地址:https://github.com/winsw/winsw/releases,我这里选择v2.12.0版本。下载WinSW-x64.exe(根据自己的系统版本选择)和sample-minimal.xml,如下

sample-minimal.xml 是一个最小配置的示例,sample-allOptions.xml 是一个全部可配置参数的示例。

3.1 重命名

为了方便,首先将exe和xml文件放到和jar包一个目录,并根据自己需要进行重命名,如下

3.2 xml配置

<service> 
     <!-- 服务唯一ID -->
     <id>imApiId</id>
     <!-- 服务名称-->
     <name>imApiService</name>
     <!-- 服务描述-->
     <description>this is im api,author:chaodev</description>
     <executable>java</executable> 
     <arguments>-jar imApi.jar</arguments>
     <!-- 开机启动 -->
     <startmode>Automatic</startmode>
     <!-- 日志配置 -->
     <logpath>%BASE%\logs</logpath>
     <logmode>rotate</logmode>
 </service>

参数说明如下:

  • id:安装windows服务后的服务ID,必须是唯一的。
  • name:服务名称,也必须是唯一的。
  • executable:执行的命令,如启动命令java。
  • arguments:命令执行参数,如指定虚拟机参数,配置文件路径等。
  • startmode:启动模式,如开机启动Automatic。
  • logpath:日志路径,%BASE%代表相对路径,也就是当前目录。

3.3 安装服务

切换到exe所在目录,执行如下命令

imApiService.exe install #根据自己exe文件名称修改

安装后即可在系统服务里找到该服务,如下

3.4 卸载服务

利用uninstall命令即可,如下

imApiService.exe uninstall

3.5 启动和停止服务

除了直接在系统服务界面手动点击控制启动停止外,还可使用如下命令

xxx.exe start #启动服务
xxx.exe stop #停止服务
xxx.exe restart #重启服务
xxx.exe status #查看状态

如下

总结

到此这篇关于Windows部署Jar包的三种方式的文章就介绍到这了,更多相关Windows部署Jar包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring @Bean注解的使用场景与案例实现

    Spring @Bean注解的使用场景与案例实现

    随着SpringBoot的流行,我们现在更多采用基于注解式的配置从而替换掉了基于XML的配置,所以本篇文章我们主要探讨基于注解的@Bean以及和其他注解的使用
    2023-03-03
  • SpringCloud网关组件Gateway原理深度解析

    SpringCloud网关组件Gateway原理深度解析

    Spring Cloud Gateway是Spring Cloud微服务生态下的网关组件,一些基础的请求预处理的逻辑可以统一实现在网关这一层,这样业务服务只需要专注于处理业务逻辑即可,所以本文就带大家深度解析网关组件Gateway,需要的朋友可以参考下
    2023-07-07
  • Java C++题解leetcode886可能的二分法并查集染色法

    Java C++题解leetcode886可能的二分法并查集染色法

    这篇文章主要为大家介绍了Java C++题解leetcode886可能的二分法并查集染色法实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • springboot项目部署到k8s上的方法步骤

    springboot项目部署到k8s上的方法步骤

    本文主要介绍了springboot项目部署到k8s上的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Spring Security角色继承分析

    Spring Security角色继承分析

    这篇文章主要介绍了Spring Security角色继承分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 详解Java的MyBatis框架中动态SQL的基本用法

    详解Java的MyBatis框架中动态SQL的基本用法

    这篇文章主要介绍了详解Java的MyBatis框架中动态SQL的基本用法,文中列出了一些常用SQL动态语句进行讲解,需要的朋友可以参考下
    2016-04-04
  • 浅谈Spring 中 @EnableXXX 注解的套路

    浅谈Spring 中 @EnableXXX 注解的套路

    本文主要介绍了浅谈Spring 中 @EnableXXX 注解的套路,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • java堆排序原理及算法实现

    java堆排序原理及算法实现

    本篇文章主要介绍了堆排序的简介,定义,算法实现以及堆排序的性质。想要了解的朋友可以参考下
    2017-04-04
  • futuretask源码分析(推荐)

    futuretask源码分析(推荐)

    这篇文章主要介绍了futuretask源码分析(推荐),小编觉得还是挺不错的,这里给大家分享下,供各位参考。
    2017-10-10
  • JAVA中三种常用的循环语句详解

    JAVA中三种常用的循环语句详解

    这篇文章主要介绍了JAVA中三种常用的循环语句详解,包括格式和执行流程,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-06-06

最新评论