首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用YAJSW作为windows服务运行jar

使用YAJSW作为windows服务运行jar
EN

Stack Overflow用户
提问于 2019-08-27 18:39:49
回答 1查看 2.8K关注 0票数 1

我看了好几个小时不同的文章和例子,成功地把自己弄糊涂了。我试图使用YAJSW作为服务包装器,并将我的Executable JAR文件安装为windows服务。我曾经使用Tanukisoft的社区版本包装器,它工作得很好,但是64位Windows版本在CE中是不可用的。

我想我有几个问题。

  1. 在旧的软件中,我不需要实现WrapperListener。这对YAJSW是必要的吗?
  2. 如果有,是否有好的例子?我见过一些,但我的应用程序没有从主类返回任何内容。它的主要类是一个不断运行的URL连接,从REST读取输入并生成一个线程来处理接收到的信息。它确实有一个关闭钩一个干净的出口。
  3. 有没有一种简单的方法可以将Tanukis的配置(下面)转换为YAJSW保持相同功能?
代码语言:javascript
复制
    set.JAVA_HOME=C:/Program Files/Java/jre1.8.0_181
    set.APP_HOME=G:/ProgFolder
    wrapper.lang.folder=%APP_HOME%/lang
    wrapper.java.command=java

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

    # Java Classpath (include wrapper.jar)  Add class path elements as
    #  needed starting from 1
    #wrapper.java.classpath.1=../lib/wrappertest.jar
    wrapper.java.classpath.1=%APP_HOME%/lib/wrapper.jar
    wrapper.java.classpath.2=%APP_HOME%/RESTReader.jar
    wrapper.java.classpath.3=%APP_HOME%/lib/javax.mail.jar
    wrapper.java.classpath.4=%APP_HOME%

    # Java Library Path (location of Wrapper.DLL or libwrapper.so)
    wrapper.java.library.path.1=%APP_HOME%/lib

    # Java Bits.  On applicable platforms, tells the JVM to run in 32 or 64-bit mode.
    wrapper.java.additional.auto_bits=TRUE

    # Java Additional Parameters
    wrapper.java.additional.1=-Dlog4j.configurationFile=file:/%APP_HOME%/conf/log4j2.xml
    wrapper.java.additional.2=-Dorg.tanukisoftware.wrapper.WrapperSimpleApp.waitForStartMain=FALSE

    # Application parameters.  Add parameters as needed starting from 1
    #wrapper.app.parameter.1=
    wrapper.app.parameter.1=com.my.org.RESTReader.EventReg

    wrapper.jvm_exit.timeout=120
    wrapper.shutdown.timeout=120

    # Name of the service
    wrapper.name=RESTReader

    # Display name of the service
    wrapper.displayname=REST Alarm Manager

    # Description of the service
    wrapper.description=REST Alarm Manager

    # Mode in which the service is installed.  AUTO_START, DELAY_START or DEMAND_START
    wrapper.ntservice.starttype=DELAY_START

    # Allow the service to interact with the desktop.
    wrapper.ntservice.interactive=false
EN

回答 1

Stack Overflow用户

发布于 2019-08-27 19:55:07

第一次安装(即没有在主机上安装现有服务)

  1. 为您的应用程序构建可执行的jar文件
  2. 将jar文件复制到目标windows机器/目标目录
  3. 将yajsw.zip复制到目标机器/目标目录
  4. 目标windows机器/目标目录:
    1. 解压缩yajsw.zip的内容。完成后,可以删除yajsw.zip文件。
    2. 在目标计算机/目标目录中打开Windows命令提示符并运行:java -jar yourExecutableJar.jar
    3. 获取刚刚开始使用的java进程的进程ID。
    4. 在target-dir\yajsw\yajsw-stable-majorversion.minorversion\bat.打开新命令窗口
    5. 以管理genConfig [processId]的形式运行,其中processID是您以前确定的
    6. 停止之前启动的java进程
    7. 在target-dir\yajsw\yajsw-stable-majorversion.minorversion\conf中打开wrapper.conf
    8. 编辑wrapper.conf: wrapper.ntservice.name=YourServiceName;wrapper.ntservice.name=YourServiceName中的字段
    9. 保存更改并关闭wrapper.conf
    10. 以管理installService in target-dir\yajsw\yajsw-stable-majorversion.minorversion\bat的身份运行
    11. 以管理startService in target-dir\yajsw\yajsw-stable-majorversion.minorversion\bat的身份运行

更新指令

  1. 使用Windows任务管理器或服务管理器停止服务
  2. 在已安装目录中,删除项目的现有jar文件。
  3. 将新jar文件复制到已安装的目录中
  4. 重新启动服务。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57680509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档