【问题标题】:run a executable jar in windows server在 Windows 服务器中运行一个可执行的 jar
【发布时间】:2016-12-21 06:34:34
【问题描述】:

我正在使用 Windows 服务器来运行我的应用程序。应用程序基于 spring boot & angular 2 构建。我想在 windows 服务器中运行可执行 jar。

我有以下疑问。

  1. 最佳实践是运行 jar 而不是在 cmd 中运行 java -jar abc.jar。
  2. 在上述配置中记录应用程序日志的最佳做法。

【问题讨论】:

  • 您没有使用 Java Web 服务器吗?比如Tomcat?
  • 我使用的是spring boot自带的嵌入式tomcat
  • 好的,那么您应该能够将tomcat作为服务启动并从那里运行WAR / JAR文件
  • 将jar作为服务运行和从tomcat服务运行jar有什么区别
  • 不确定。 Tomcat 确实有一个 Web 管理器界面。不过没用过。它还可能为您提供应用程序日志记录

标签: java angular spring-boot windows-server-2012


【解决方案1】:

这是官方 spring-boot 文档对 Windows 所说的:

http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-windows.html

Spring Boot 应用程序可以使用 winsw (https://github.com/kohsuke/winsw) 作为 Windows 服务启动。

一个与 Spring Boot 核心分开维护的示例分步描述了如何为 Spring Boot 应用程序创建 Windows 服务 (https://github.com/snicoll-scratches/spring-boot-daemon)。

【讨论】:

    【解决方案2】:

    我建议将其作为 Windows 服务运行

    nssm install <servicename> "C:\Program Files\Java\jre7\java.exe" "-jar <path-to-jar-file>"
    

    【讨论】:

    • nssm 是开源的吗?我可以在不使用任何第三方插件(如 nssm)的情况下创建服务吗?
    • 这里是它的链接nssm.cc 如果我的回答有帮助,请不要忘记选中复选框。 :) 还有其他方法可以创建服务。只需用谷歌搜索命令行来创建 Windows 服务,你就会发现一些东西。
    • 我正面临这个问题 nssm start 提供意外状态 SERVICE_PAUSED 以响应 java 应用程序的 START 控制
    猜你喜欢
    • 2013-11-18
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多