Windows部署Jar包的三种方式

文章介绍了三种在Windows上启动和管理Java服务的方式:通过cmd命令、创建bat脚本以及使用WinSW工具。cmd和bat脚本方式简单但不利于后期维护。WinSW提供了一种更专业的服务管理方式,包括服务ID、名称、描述、启动模式和日志配置等功能,并支持安装、卸载、启动、停止和查看服务状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、cmd命令启动

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

2、bat脚本启动

2.1 启动jar包

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

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

2.2 关闭服务

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

以上两种方式都有点不太利于后期维护。

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所在目录,执行如下命令

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

 

3.4 卸载服务

利用uninstall命令即可,如下

imApiService.exe uninstall

 

3.5 启动和停止服务

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

 

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

 

 

### 部署和运行Java JAR文件 #### 准备工作 为了成功部署并运行Java应用程序(JAR),需先确认已安装适当版本的JDK或JRE环境,并设置好`JAVA_HOME`环境变量以及将`%JAVA_HOME%\bin`加入到系统的Path路径中[^3]。 #### 文件放置 选择合适的目录用于存放即将部署的应用程序JAR文件,比如可以创建专门的文件夹来管理这些资源。假设选定的位置为`G:\tian-visit-test`,那么应把准备好的JAR文件复制到这里。 #### 命令行启动 通过管理员权限打开命令提示符(CMD),切换至上述指定的文件夹路径下(`cd /d G:\tian-visit-test`),接着可以直接利用`java -jar jar-file-name`这样的指令来启动应用,其中`jar-file-name`替换为实际的JAR文件名称,例如`tianyin-visit.jar`[^1]。 对于希望在后台静默执行而不弹出控制台窗口的情况,则推荐采用`javaw -jar jar-file-name`的形式调用[^2]。 #### 使用批处理脚本实现自动化操作 编写一个简单的`.bat`批处理文件可以帮助简化这一过程,特别是当需要频繁重启服务或是调整参数的时候尤为有用。下面是一个例子: ```batch @echo off start javaw -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m -jar E:\e-record\ews-record-1.0-SNAPSHOT.jar >> StartupLog.log 2>&1 & exit ``` 此段代码不仅能够隐藏CMD窗口,还设置了初始堆大小(-Xms)、最大堆大小(-Xmx)以及其他一些性能优化选项;同时重定向了标准输出与错误流至日志文件以便后续排查问题之用[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值