使用Java Service Wrapper将java程序作为linux服务并且开机自动启动

以java应用程序为例,打包为tianlong.jar,程序入口为tianlong.QueueTest。

下面在linux的/opt下建立tianlong目录,复制tianlong.jar到/opt/tianlong/lib目录下。

1、下载Java Service Wrapper(目前版本wrapper-linux-x86-32-3.3.2), 解压。 
http://wrapper.tanukisoftware.org/

复制src/bin/sh.script.in到/opt/tianlong/bin目录,重命名为QueueTest

复制wrapper/bin目录下的wrapper文件到/opt/tianlong/bin目录

复制src/conf/wrapper.conf.in到/opt/tianlong/conf目录,重命名为wrapper.conf

复制src/lib/lib目录下3个文件到/opt/tianlong/lib目录

wrapper.so 
wrapper.jar 
wrappertest.jar

2、修改/opt/tianlong/bin/QueueTest文件

APP_NAME="QueueTest" //注意这里,这里的应用服务名称应该与第1步的/opt/tianlong/bin里面的QueueTest名字相同

APP_LONG_NAME="QueueTest Application Server"

WRAPPER_CMD="./wrapper" //这里的路径要写正确,这里是对应了/opt/tianlong/bin/wrapper这个文件

WRAPPER_CONF="../conf/wrapper.conf" //这里的路径要写正确,这里是对应了/opt/tianlong/conf/wrapper.conf这个文件

赋予执行权限

chmod 775 /opt/testapp/bin/SocketServer

chmod 775 /opt/testapp/bin/wrapper

3、修改/opt/tianlong/conf/wrapper.conf文件 
wrapper.java.command=/usr/java/jdk1.6.0_07/bin/java   //这里是写java的安装路径

使用WrapperStartStopApp,这样可以通过命令带start/stop来启动/停止程序。
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp

#这里添加你用到的jar包文件,从1..n你自己全写上吧,不过wrapper是必须的

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

wrapper.java.classpath.2=../lib/tianlong.jar     //这里表示将打包好的tianlong.jar放在/opt/tianlong/lib这个文件夹中

wrapper.java.classpath.3=../lib/asterisk-java-0.3.jar

wrapper.java.classpath.4=../lib/mysql-connector-java-5.1.6-bin.jar

wrapper.java.classpath.5=/usr/java/jdk1.6.0_07/lib/dt.jar

wrapper.java.classpath.6=/usr/java/jdk1.6.0_07/lib/tools.jar
wrapper.java.classpath.7=../cofig.properties   //这个是应用程序用到的配置文件。如果使用的应用程序需要用到配置,就需要把这个文件包含进来

wrapper.java.library.path.1=../lib   //这里是表示wrapper使用到的jar包的路径,一般默认即可,绝对路径是:/opt/tianlong/lib

#这个就是你自己可执行程序的主类(MainClass),一般来说,就是包含public static void main的那个类 
wrapper.app.parameter.1=tianlong.QueueTest

wrapper.app.parameter.2=1

wrapper.app.parameter.3=true

wrapper.app.parameter.4=tianlong.QueueTest

wrapper.app.parameter.5=true

wrapper.app.parameter.6=1

wrapper.app.parameter.7=stop

4、让QueueTest开机自动运行

ln -s /opt/tianlong/bin/QueueTest  /etc/init.d/QueueTest

ln -s /opt/tianlong/bin/QueueTest /etc/rc0.d/QueueTest

ln -s /opt/tianlong/bin/QueueTest /etc/rc1.d/QueueTest

ln -s /opt/tianlong/bin/QueueTest /etc/rc2.d/QueueTest

ln -s /opt/tianlong/bin/QueueTest /etc/rc3.d/QueueTest

ln -s /opt/tianlong/bin/QueueTest /etc/rc4.d/QueueTest

ln -s /opt/tianlong/bin/QueueTest /etc/rc5.d/QueueTest

ln -s /opt/tianlong/bin/QueueTest /etc/rc6.d/QueueTest

5、测试 执行命令:service QueueTest start|stop|restart|status

程序运行时,Java Service Wrapper在/opt/tianlong/bin/目录下产生wrapper.log日志,

STATUS | wrapper  | 2009/02/25 17:04:01 | --> Wrapper Started as Daemon

STATUS | wrapper  | 2009/02/25 17:04:01 | Java Service Wrapper Community Edition 3.3.2

STATUS | wrapper  | 2009/02/25 17:04:01 |   Copyright (C) 1999-2009 Tanuki Software, Ltd.  All Rights Reserved.

STATUS | wrapper  | 2009/02/25 17:04:01 |     http://wrapper.tanukisoftware.org

STATUS | wrapper  | 2009/02/25 17:04:01 |

STATUS | wrapper  | 2009/02/25 17:04:01 | Launching a JVM...

INFO   | jvm 1    | 2009/02/25 17:04:02 | WrapperManager: Initializing...

出现上面这个就表示已经配置成功了。如果配置有错误的话,在wrapper.log里面会有提示。

同时,如果程序配置成功的并且启动的话,在/opt/tianlong/bin里面会有一个QueueTest.pid。

附目录结构

/opt/tianlong/

cofig.properties

/opt/tianlong/bin

| QueueTest

| wrapper

| wrapper.log(程序运行时自动产生)

/opt/tianlong/conf

| wrapper.conf

/opt/tianlong/lib

| libwrapper.so

| wrapper.jar

| tianlong.jar

| mysql-connector-java-5.1.6-bin.jar

| asterisk-java-0.3.jar

link:http://blog.csdn.net/lhx1026/article/details/3936939

原文地址:https://www.cnblogs.com/jpfss/p/9745061.html

时间: 2024-10-07 06:13:37

使用Java Service Wrapper将java程序作为linux服务并且开机自动启动的相关文章

Java程序作linux服务并且开机自动启动[转]

以有个java应用名称为test,打包为test.jar,程序入口为cn.com.ppnote.SocketServer. 下面在linux的/opt下建立testapp目录,复制test.jar到/opt/testapp/lib目录下. 1.下载Java Service Wrapper(目前版本wrapper-linux-x86-32-3.2.3), 解压. http://wrapper.tanukisoftware.org/ 复制src\bin\sh.script.in到/opt/testa

树莓派上Java程序作为linux服务并开机自动启动

http://www.iigrowing.cn/shu_mei_pai_shang_java_cheng_xu_zuo_wei_linux_fu_wu_bing_kai_ji_zi_dong_qi_dong.html 刚刚买了, 树莓派, 准备做一些程序, 放到树莓派上, 平时树莓派上不接显示器等各种设备,直接随着adsl开关进行开关. 这样一些java程序启动就有些麻烦. 开 发过程中很多要独立运行,他们并不会以web形式发布,传统的做法是将其压缩为jar包独立运行,这种形式简单易行也比较利于

Java Service Wrapper 发布Java程序为Windows服务

下载Windows版本:http://nchc.dl.sourceforge.net/sourceforge/wrapper/wrapper-windows-x86-32-3.2.3.zip 现在目前只要32位有免费的,64位免费版目前还没有做出来.官网上(社区)那一列是免费的. 1.先把你的项目用MANIFEST.MF打成jar包,例如bb.jar.新建目录,例如:dist,放在D盘下面.把bb.jar放到dist目录下. 2.在dist目录下新建conf,lib,log三个文件夹.conf是

利用JAVA Service Wrapper把JAVA程序做成windows服务

今天复习了一下Java的基础知识,做了一个读取数据入库的程序.由于读取的数据每天都更新,于是就想把程序做成一个服务,每天定时执行.研究了一下,发现有几种方式可以做.下面我主要记录一下JAVA Service Wrapper方式.除此之外,我会把一些基本内容也贴上,以后复习所用. 一.下面是整个程序的功能部分: 1.连接数据库的功能.我写了一个DBConnecter类,是一个单例. public class DBConnecter { private static DBConnecter inst

使用java service wrapper将java程序注册为windows服务

转载自 http://blog.csdn.net/coolcoffee168/article/details/9980009 1. 下载java service wrapper 网址:http://sourceforge.net/projects/wrapper/ 或者 http://wrapper.tanukisoftware.com/doc/english/download.jsp 我下载的版本是wrapper-windows-x86-32-3.5.20.zip. 2. 配置过程 1)首先确

详解Maven项目利用java service wrapper将Java程序生成Windows服务

在项目的开发中,有时候需要将Java应用程序打包成Windows服务,我们就直接可以通过windows的服务来启动和关闭java程序了. 本博文将通过有两种方法实现该功能,手动创建法和Maven自动打包法. 一. 准备 下载java service wrapper 网址:http://sourceforge.net/projects/wrapper/或http://wrapper.tanukisoftware.com/doc/english/download.jsp 我下载的版本是wrapper

使用java service wrapper将项目部署到linux服务器上

最近有需求是将java项目部署到linux服务器上作为服务端程序,最后经过测试成功.本着分享精神将总结出来的路子分享给大家,如果不明白的地方可以在下边留言,谢谢. 将java项目部署到linux服务器 1.      首先从官网下载http://wrapper.tanukisoftware.com/doc/english/download.jsp,注意下载的文件为Community列中的(PS:其他版本需要序列号) 2.      将写好的java项目打成jar包,待用 3.      将下载好

Java Service Wrapper简介与使用

Wrapper可以将java application 编程一个系统服务器,非常好用! 之前有做过整理,但是公司上不了博客园,所以这边转下下做下记录! 1. 下载java service wrapper 网址:http://sourceforge.net/projects/wrapper/ 或者 http://wrapper.tanukisoftware.com/doc/english/download.jsp 我下载的版本是wrapper-windows-x86-32-3.5.20.zip. 2

使用Java Service Wrapper将jar包安装成Windows服务

在windows上运行jar包,需要在工作目录下使用命令行运行jar包,这样会出现一个命令行窗口.而且这个命令行窗口有可能会不小心被关闭,且服务器启动后需要人为去点击开启. 对于有些服务性的程序来说,我们需要将其部署为windows服务,在系统启动的时候自动启动. 前面我使用了yajsw来进行,请参考我的博文:http://www.cnblogs.com/kxxx/p/6744309.html 但本次在另外一台服务器上进行处理时,安装了服务之后不能打开,服务每次都报找不到指定文件的错误,试了很久