博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]将java程序安装成windows服务
阅读量:4656 次
发布时间:2019-06-09

本文共 2728 字,大约阅读时间需要 9 分钟。

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

  1. 首先下载java service wrapper包,我下载的是,并解压,这里假设解压到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

 

这是示例程序下载地址

转载于:https://www.cnblogs.com/skykang/archive/2013/04/25/3042756.html

你可能感兴趣的文章
【Flask】在Flask中使用logger
查看>>
好系统重装助手教你如何让win10系统快速开机
查看>>
计算机操作系统概述
查看>>
代理模式
查看>>
Infraware推出Tizen应用生成器Polaris,可转换Android应用至Tizen平台
查看>>
luogu1345 奶牛的电信 (最小割)
查看>>
BZOJ 100题留念
查看>>
BZOJ 1649: [Usaco2006 Dec]Cow Roller Coaster( dp )
查看>>
Jenkins + GitLab 通过 Webhook 自动触发构建爬坑记录
查看>>
MIPS汇编小贴示
查看>>
linux开机启动
查看>>
BZOJ 1101 [POI2007]Zap 【莫比乌斯反演】
查看>>
SQL Server-The target principal name is incorrect. Cannot generate SSPI context
查看>>
AS3全局与局部坐标转换
查看>>
Java内部类详解
查看>>
初识Twisted(一)
查看>>
linux 软件安装篇
查看>>
Sql server数据库大小写敏感设置
查看>>
JAVA多线程-内存模型、三大特性、线程池
查看>>
RxJS速成 (下)
查看>>