zoukankan      html  css  js  c++  java
  • [转]将java程序安装成windows服务

    最近工作需要将java程序打包发布,并且能安装成windows服务,而且需要在没有安装jre的机器上运行。研究了一下java service wrapper,在网上找了相关的资料,但是都说得不是很详细,照着做有一定难度。所以我分步总结了一下,希望给遇到相同问题的同仁一点帮助。 

    1. 首先下载java service wrapper包,我下载的是wrapper-windows-x86-32-3.2.3,并解压,这里假设解压到warpper3.2.3文件下
    2. 新建一个文件夹命名为test,在此文件夹内建立五个文件夹,分别命名bin,logs,application,lib,conf,然后将jre复制到test文件夹内,并将jre文件夹改名为jre。
    3. 将编译后的java工程中的bin文件夹,和lib文件夹(如果用到了第三方jar包的话,没用到的话可以不复制lib)复制到application文件夹中
    4. 将warpper3.2.3/src/bin下面的App.bat.in,InstallApp-NT.bat.in,UninstallApp-NT.bat.in三个文件复制到test/bin中,并分别改名,去掉“.in”。
    5. 将warpper3.2.3/bin下面的Wrapper.exe复制到test/bin
    6. 将warpper3.2.3/conf下面的wrapper.conf复制到test/conf
    7. 将wrapper3.2.3/lib下面的wrapper.jar和wrapper.dll复制到test/lib
    8. 完成以上几步后,打开test/conf/wrapper.conf

    l         找到

    # Java Application

    wrapper.java.command=java

    改成

    # Java Application

    wrapper.java.command=../jre/bin/java

    这里是指定jre的路径

    l         找到

    wrapper.java.mainclass=org.tanukisoftware.wrapper.test.Main

    改成

    wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

    这里是指定wrapper的启动方式,用wrapper代理启动

    l         找到

    # 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

     

    这里是限制服务所占用的最小和最大内存,也可以不改

    l         找到

    #  needed starting from 1

    wrapper.java.classpath.1=../lib/wrappertest.jar

    wrapper.java.classpath.2=../lib/wrapper.jar

     

    改成

    #  needed starting from 1

    wrapper.java.classpath.1=../lib/wrapper.jar

    wrapper.java.classpath.2=../application/lib/*.jar

    wrapper.java.classpath.3=../application/bin/

     

    这里是指定服务所需要用到的jar包及class文件

    l         找到

    # Application parameters.  Add parameters as needed starting from 1

    #wrapper.app.parameter.1=

    改成

    # Application parameters.  Add parameters as needed starting from 1

    wrapper.app.parameter.1=com.xxx.yyy.Mainclass

    这里是指定main class,com.xxx.yyy.Mainclass是main方法所在类,记住要去掉前面的#号才能生效!

    l         找到

     

    # Name of the service

    wrapper.ntservice.name=testwrapper

     

    # Display name of the service

    wrapper.ntservice.displayname=Test Wrapper Sample Application

     

    # Description of the service

    wrapper.ntservice.description=Test Wrapper Sample Application Description

    改成

    # Name of the service

    wrapper.ntservice.name=服务名

     

    # Display name of the service

    wrapper.ntservice.displayname=服务显示名

     

    # Description of the service

    wrapper.ntservice.description=对服务的描述

    这里是指定服务的名称,显示名,及服务描述

    1. 完成上述步骤后,可以进行测试了

    运行test/bin/App.bat,如果没有异常信息说明配置成功!然后可以执行InstallApp-NT.bat安装服务,执行UninstallApp-NT.bat卸载服务。

    需要注意的一点是,采用这种方式启动java程序,那么根目录就是test/bin,而不是test/application,所以如果在程序中用到了根目录下的资源(如配置文件,图片等),需要复制到test/bin下面来。

    附上文件夹结构:

    test--conf—wrapper.conf

       --bin--App.bat,InstallApp-NT.bat,UninstallApp-NT.bat,Wrapper.exe

       --lib—wrapper.dll,wrapper.jar

       --application—bin,lib

       --logs

       --jre

    这是示例程序下载地址http://d.download.csdn.net/down/1973862/itpentiuman

  • 相关阅读:
    Asp.Net WebService 使用后来管理系统对接口方法进行公开控制
    ASP.NET使用NPOI加载Excel模板并导出下载
    VS2010 根据模型生成数据库 打开edmx.sql文件时 vs出现无响应的解决方案
    ASP.NET中Session简单原理图
    三层架构学习总结图
    备忘录
    帶編號漏洞列表
    pwn with glibc heap(堆利用手册)
    基于qemu和unicorn的Fuzz技术分析
    winafl 源码分析
  • 原文地址:https://www.cnblogs.com/skykang/p/3042756.html
Copyright © 2011-2022 走看看