java打包成windows服务(转)

java打包成windows服务

前言
       java工程发布后,可以是jar、war文件,一般部署到Tomcat站点目录下,而控制台程序需要开启控制台窗口,我们希望开机启动并且不显示控制台,那么需要将jar文件服务注册到windows服务上,这样不管是开机启动、运行程序都不显示控制台页面,解决最多的方法是使用wrapper-windows软件包。
 
一、下载wrapper-windows文件,解压之后包括bin、conf、lib、src、logs、doc、bulid7个文件
 
     下载地址:https://www.krenger.ch/blog/java-service-wrapper-3-5-14-for-windows-x64/

 二、新建测试打包目录。例如:创建testService文件夹,在testService文件夹下创建bin、conf、lib、logs 4个文件夹。
 
    bin:需要将wrapper-windows解压文件bin目录下的InstallTestWrapper-NT.bat、StartTestWrapper-NT.bat、StopTestWrapper-NT.bat、UninstallTestWrapper-NT.bat、wrapper.exe这几个文件拷贝到bin目录下
    conf:wrapper-windows解压conf下的文件拷贝到对应conf文件夹下
    lib:wrapper-windows解压lib目录下wrapper.dll、wrapper.jar拷贝到lib目录下。同时,拷贝将启动程序所有jar文件。
 
三、修改testServic-->conf->wrapper.conf文件

    1>如果本机,jdk环境变量已配置好可以忽略。
    wrapper.java.command=java
    #  Specify a specific java binary:
    #set.JAVA_HOME=/java/path
    #wrapper.java.command=%JAVA_HOME%/bin/java
    
    wrapper.java.command=java:如果本机已配置了jre,那么此项不需更改;否则的话,需要将jre复制到myWindowServ文件夹路径下(如和bin在 同一级,修改wrapper.java.command=../jre/bin/java.exe)
    2>这里必须指定org.tanukisoftware.wrapper.WrapperSimpleApp
    
    wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
    
    3>将程序运行所有需要的jar包进行配置,lib文件中的wrapper.jar是必须的
    
    wrapper.java.classpath.1=../lib/tellyes.jar
    wrapper.java.classpath.2=../lib/wrapper.jar
    
    4>配置程序运行的所需要的内存大小
    # Initial Java Heap Size (in MB)
    #wrapper.java.initmemory=3
    # Maximum Java Heap Size (in MB)
    #wrapper.java.maxmemory=64
    修改成
    # Initial Java Heap Size (in MB)
    wrapper.java.initmemory=128
    # Maximum Java Heap Size (in MB)
    wrapper.java.maxmemory=256
    这里是限制服务所占用的最小和最大内存,根据程序运行的效果也可以不改。
    5>配置程序启动入口函数
    
    wrapper.app.parameter.1=自己入口文件函数(包名.函数名)
    
    6>配置服务器名称、描述
    
    wrapper.name=指定服务的名称
    # Display name of the service
    wrapper.displayname=服务的显示名称
    # Description of the service
    wrapper.description=服务描述
    
    7>启动模式,默认AUTO_START or DEMAND_START
    
四、测试
 
    运行“InstallTestWrapper-NT.bat”注册服务,如果没有其他异常的情况,在服务列表可以找到
    运行“StartTestWrapper-NT.bat"开启服务
    其他两个分别是“停止服务”、“删除服务”批处理文件
     
总结
 
     下载wrapper版本必须跟电脑系统一致。之前我下载32位版本,服务可以注册成功,但是启动不了,错误日志显示不支持32位。
此外,如果自己项目涉及到其他配置文件,必须放在bin目录下。例如,程序启动需要获取config.xml节点value,那么config.xml必须拷贝到打包文件bin目录下。
     不管是注册、启动服务,如果出现问题,可以根据logs目录下查看错误日志进行解决。

猜你喜欢

转载自www.cnblogs.com/yasepix/p/10366023.html