1. 程式人生 > >java打包成windows服務(轉)

java打包成windows服務(轉)

最大 節點 出現 dll war java打包 工程 sts 文件中

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目錄下查看錯誤日誌進行解決。

java打包成windows服務(轉)