- 浏览: 530782 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (230)
- java (87)
- c/c++/c# (39)
- ASP.net MVC (4)
- eclipse/visual studio (3)
- tomcat/weblogic/jetty (13)
- linux/unix/windows (20)
- html/javascript/jquery/kendo/bootstrap/layui/vue/react (31)
- hibernate/struts/spring/mybatis/springboot (21)
- lucene/solr/ELK (2)
- shiro (0)
- oracle/sqlserver/mysql/postgresql (23)
- shell/python/ruby (6)
- android (0)
- maven/ant (1)
- freemarker/thymeleaf/velocity (1)
- open source project (41)
- cache/memcached/redis (0)
- nosql/hadoop/hbase/mongodb (0)
- system architecture/dubbo/zookeeper (0)
- software testing (0)
- system optimization (0)
- system security (0)
- tcp/udp/http (2)
- roller/wordpress (2)
- 工具收藏 (8)
- 文摘 (4)
- 生活 (0)
最新评论
-
coconut_zhang:
这个demo 非常完整了,是指下面说的那个html 模版,模版 ...
flying sauser, thymeleaf实现PDF文件下载 -
a93456:
你好,你有完整的demo吗? String template这 ...
flying sauser, thymeleaf实现PDF文件下载 -
yujiaao:
fn 函数循环是没有必要的啊,可以改成
protecte ...
Java 笛卡尔积算法的简单实现 -
安静听歌:
设置了.setUseTemporaryFileDuringWr ...
使用jxl导出大数据量EXCEL时内存溢出的解决办法 -
q280499693:
写的很详细,但是我现在想知道他们是怎么定位log4j.prop ...
关于SLF4J结合Log4j使用时日志输出与指定的log4j.properties不同
☆下载Windows版本:(请使用Community版本,因Professional和Standard版本需要购买Licenses)
☆假设项目放在目录project文件夹下,发布的包放在project/lib下,日志文件放在project/log下,配置文件放在project/conf下,运行的jar为myjar.jar。
☆在下载包后解压,将Java Service Wrapper包中src/bin/的App.bat.in,InstallApp-NT.bat.in,UninstallApp-NT.bat.in和bin/下的wrapper.exe放在project目录下,把后缀.in去掉。【App.bat(可以直接运行程序),InstallApp-NT.bat(安装成Windows服务),UninstallApp-NT.bat(卸载Windows服务)】。修改App.bat,InstallApp-NT.bat,UninstallApp-NT.bat中的set _WRAPPER_CONF="%_REALPATH%conf\wrapper.conf"。
☆把Java Service Wrapper包中lib目录下的Wrapper.DLL,wrapper.jar拷贝到project/lib下,在原来的运行的jar文件myjar.jar中的MANIFEST.MF增加Class-Path: 其他jar wrapper.jar wrapper.dll。
☆把Java Service Wrapper包中src/conf目录下的wrapper.conf.in放到project/conf下,去掉后缀.in。然后修改为
wrapper.java.classpath.2=dist/myjar.jar
wrapper.java.library.path.1=dist
#原来程序运行的入口
wrapper.app.parameter.1=myapp.mainClass
wrapper.logfile=log/wrapper.log
wrapper.console.title=MyApp服务
wrapper.ntservice.name=MyApp服务
wrapper.ntservice.displayname=MyApp服务
wrapper.ntservice.description=MyApp服务
☆然后直接运行App.bat,如果运行成功的话,然后就可以执行InstallApp-NT.bat发布成Windows服务,然后就可以设置成开机自启动了,不怕别人启动的时候自己的程序没有执行。另外如果在project/bin当成bat的目录的话没这么麻烦。
<!-- Linux-->
使用Java Service Wrapper将java程序作为linux服务并且开机自动启动
以java应用程序为例,打包为tianlong.jar,程序入口为tianlong.QueueTest。
下面在linux的/opt下建立tianlong目录,复制tianlong.jar到/opt/tianlong/lib目录下。
1、下载Java Service Wrapper(请使用Community版本,因Professional和Standard版本需要购买Licenses), 解压。
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
#wrapper.java.initmemory=3
JVM启动时的初始内存大小,当前是3M,如果要自定义,将#去掉,设置自己的值即可。
#wrapper.java.maxmemory=64
JVM启动时的最大内存使用量,当前是64M,如果要自定义,将#去掉,设置自己的值即可。
#这个就是你自己可执行程序的主类(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
- wrapper-linux-x86-32-3.5.7.tar.gz (415.6 KB)
- 下载次数: 33
- wrapper-windows-x86-32-3.5.7.zip (556.5 KB)
- 下载次数: 16
发表评论
-
easypoi 按照模板到出excel并合并单元格
2022-11-10 21:46 104这是entity类,注解的mergeVertical是纵向合 ... -
Java时区处理之Date,Calendar,TimeZone,SimpleDateFormat
2017-03-31 14:59 1276一、概述 1、问题描述 使用Java处 ... -
jxls操作excel文件
2017-03-03 14:51 1011JXLS是基于Jakarta POI API的Excel报表 ... -
eclipse插件Maven添加依赖查询无结果的解决方法(Select Dependency doesn't work)
2016-04-22 08:33 692在eclipse中用过maven的可能都遇到过这种情况,我 ... -
Java_Ant详解
2015-06-15 16:54 6811,什么是antant是构建工 ... -
httpClient通过代理(Http Proxy)进行请求
2014-09-16 14:18 1144httpClient通过代理(Http Proxy)进行请求 ... -
httpclient上传文件及传参数
2014-09-16 11:07 11499用到的包有commons-httpclient-3.0.1. ... -
Java文件下载的几种方式
2013-08-19 14:15 833public HttpServletResponse dow ... -
http上传文件深度解析-高性能http传输
2013-07-23 10:41 9717最近在做web服务器的时候将一些应用集成在了服务器里面,比 ... -
java servlet common-fileupload 实现的文件批量上传
2013-07-18 14:31 6354结合前辈们的代码, 写了个用servlet 和 common ... -
调用axis2 WebService三种方法
2013-06-28 13:41 1737第一:简单的使用axis2包自己实现调用 package ... -
java-jsch实现sftp文件操作
2013-06-26 13:55 3609(曾在天涯)的文章详细讲解了jsch中的函数以及用法 ht ... -
url encode的问题
2012-11-06 08:27 58801.urlencode和decode 字符的编码和解码在有中 ... -
Java集合运算(交集,并集,差集)
2012-11-02 14:59 12928在实现数据挖掘一些算法或者是利用空间向量模型来发现相似文档的时 ... -
使用jxl导出大数据量EXCEL时内存溢出的解决办法
2012-11-02 14:05 11680POI或者JXL在导出大量数据的时候,由于它们将每一个单元格生 ... -
Java 笛卡尔积算法的简单实现
2012-10-31 15:26 9428笛卡尔积算法的Java实现: (1)循环内,每次只有一列向下 ... -
java实现求一个项目集合任意元子集的通用算法
2012-10-31 15:25 4在关联规则挖掘过程中,经常涉及到求一个频繁项目集的n元子集,在 ... -
java实现求一个项目集合任意元子集的通用算法
2012-10-31 15:21 1451在关联规则挖掘过程中,经常涉及到求一个频繁项目集的n元子集,在 ... -
使用 HttpClient 和 HtmlParser 实现简易爬虫
2012-06-27 16:33 1238这篇文章介绍了 HtmlParse ... -
分布式计算开源框架Hadoop入门
2012-06-26 13:29 1943引 在SIP项 ...
相关推荐
在项目的开发中,有时候需要将Java应用程序打包成Windows服务,我们就直接可以通过windows的服务来启动和关闭java程序了。 本博文将通过有两种方法实现该功能,手动创建法和Maven自动打包法。
对以上配置的MyApp.bat进行测试,运行MyApp....打开控制面板-管理程序-服务,看到App已经在系统服务中了,其他用法就与我们熟悉的Windows服务一样了。 本项目的功能测试 :http;//127.0.0.1:7777/ss='ss' 响应11111
SpringBoot 使用Java Service Wrapper 部署Windows服务
Java Service Wrapper使用总结,将java应用发布为可安装的服务
NULL 博文链接:https://xbgd.iteye.com/blog/754948
Java Service Wrapper使用说明
使用Wrapper将Java程序注册为Windows的服务
去CSDN下载所谓破解出现以下错误:wrapper | Licensed to (null) for (null) wrapper | wrapper | Launching a JVM... jvm 1 | WrapperManager: Initializing... jvm 1 | WrapperJNI Error: Not licensed to use ...
Java Service Wrapper部署说明 Java Service Wrapper是一个开源的软件,能够将Java程序发布到不同平台,并保证其JVM正常运行。 附件是一个实例,有比较详细的说明。更多的可以参考其网站
使用Wrapper将Java Application程序封装为Windows下面的服务
Java Service Wrapper可为应用程序提供以下功能: (1)把应用安装为Windows服务或Linux守护进程; (2)监测JVM运行情况,对于程序原因或内存溢出导致的虚拟机崩溃实现自动重启; (3)记录运行日志;
Windows Service Wrapper是一款开源的,可以实现nginx注册为Windows服务的软件工具,非常实用。可以解决nginx每次配置需要手动重启不方便的弊端。
Windows service wrapper 可以用来创建一个Windows服务
Java Service Wrapper 可以将Java程序包装成系统服务,这样就可以随着系统的运行而自动运行。Java Service Wrapper分为Professional、Standard、Community三个版本,并支持32位和64位的系统,其中Community版本为...
YSJSW(Yet Another Java Service Wrapper) 可以配置java应用为windows服务。
Java Service Wrapper可以将java程序做成windows服务,逼格满满
Java Service Wrapper 3.5.25 标准版破解,Windows 64位
NULL 博文链接:https://s24963386.iteye.com/blog/744637
Java Service Wrapper 可以将Java程序包装成系统服务,这样就可以随着系统的运行而自动运行。此文件为32位Community版本免费的社区版本。