• 将springboot的jar包添加到windows服务及遇到的问题及其解决思路


    设置成windows服务

    关于如何将jar包设置成windows服务这部分在 这篇博客 中写的很详细了,这里就不再赘述

    配置成windows服务过程中碰到的问题

    配置后在日志中查看报错信息为: 看日志中报错信息为: %1 不是有效的 Win32 应用程序

    实际在下载Procrun后的解压包中,本身就分为64位与32位之分,使用的时候选择对应的版本即可

    H2数据库权限问题(严格来讲,这个不属于配置服务的问题,应当属于H2数据库使用相关问题,但确实排查了很久。。。)

    现象如下:

    1. 正常配置服务也可以启动,并且能正常打开应用,但是在登录的时候却报user不存在的问题(只有这个时候才使用到了数据库,用的是h2数据库)。
    2. 使用java -jar 能够正常启动,并且能够正常访问user信息。

    思路
    最开始就是想到这种服务能否调试

    • 调试服务
      运行服务为控制台模式,你需要使用 //TS// 参数。如
    rem 安装
    "%SRV%" //TS//prun-yaojingcai-erp
    echo 安装服务完成。
    

    调试无果的过程中,猜测是h2数据库文件的与用户访问的权限问题,因为我的配置文件中关于h2数据库的初始配置是

    jdbc:h2:file:~/.h2/data-migration-new;AUTO_SERVER=TRUE
    

    这个在windows下面的话,默认是生成在当前用户文件夹下面,。用java -jar的话是当前用户,访问自己用户文件夹下面的问题肯定是没有问题,但是如果添加为windows系统服务,是否就因为访问权限的问题访问不到呢?
    因此尝试将h2数据库文件修改到相对jar应用上层data文件夹下面,代码如下:

    jdbc:h2:file:./data/data-migration-new;AUTO_SERVER=TRUE
    

    果然,修改后,服务中的也可以正常运行了。

  • 相关阅读:
    Spring Boot & ES 实战,值得参考!
    什么是 Java 对象深拷贝?面试必问!
    一份完整的 MySQL 开发规范,进大厂必看!
    ASP.NET + MVC5 入门完整教程五 --- Razor (模型与布局)
    C# MVC扩展方法
    C#泛型应用及原理
    部分类及部分方法
    程序集
    类的可访问属性
    ASP.NET + MVC5 入门完整教程四---MVC 中使用扩展方法
  • 原文地址:https://www.cnblogs.com/falcon-fei/p/11680782.html
Copyright © 2020-2023  润新知