• springboot 在maven项目下,jar包注册window服务


      在正常能打包jar的项目下,对pom文件进行修改,代码如下

    一、基础配置

        <modelVersion>4.0.0</modelVersion>
        <groupId>FaceDeviceCenter</groupId>
        <artifactId>FaceDeviceCenter</artifactId>
        <packaging>jar</packaging>
        <version>0.0.1-SNAPSHOT</version>
        <name>FaceDeviceCenter Maven Webapp</name>
        <url>http://maven.apache.org</url>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <start-class>com.aratek.gateServer.Application</start-class>
            <fileName>FaceDeviceCenter</fileName>
            <version>0.0.1-SNAPSHOT</version>
        </properties>

    二、配置打包插件

        <plugins>
                <!-- maven编译插件 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>default-compile</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>compile</goal>
                            </goals>
                            <configuration>
                      <!--设置jdk编译本版--> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </execution> </executions> </plugin> <!-- jar打包插件, 设定jar包名称不带版本号 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration>
                <!--设置打包出来的jar包名称,这个非常重要,在window 注册服务脚本中,这个是固定的,格式是”文件名-本版号“ --> <jarName>${fileName}-${version}</jarName> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- jar 打包注册window 插件 --> <plugin> <groupId>cn.joylau.code</groupId> <artifactId>joylau-springboot-daemon-windows</artifactId> <version>1.0.RELEASE</version> <executions> <execution> <id>make-win-service</id> <phase>package</phase> <goals> <goal>make-win-service</goal> </goals> </execution> </executions> <configuration>
                <!--这块是打包出来的脚本文件,根据实际情况自己配置--> <arguments> <vmOptions>-Xms1024m -Xmx2048m</vmOptions>
                  <!--配置springboot启动端口--> <argument>--server.port=8083</argument>
                  <!--配置jar启动的属性--> <programArguments> -Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=2048m</programArguments> </arguments> </configuration> </plugin> </plugins>

    打包过程中,看到如下日志信息,便制作成功了:

    三、文件目录如下

    注:FaceDeviceCenter-0.0.1-SNAPSHOT.zip就是我们打包出来需要的文件了

    解压出来,文件如下:

    intsall.bat :安装服务

    restart.bat:重启服务

    start.bat:启动服务

    stop.bat:停止服务

    unintall.bat:卸载服务

    观察下FaceDeviceCenter-0.0.1-SNAPSHOT.xml里面的内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <service>
        <id>FaceDeviceCenter</id>
        <name>FaceDeviceCenter-0.0.1-SNAPSHOT</name>
        <description>Spring Boot Starter Parent</description>
        <workingdirectory>%BASE%\</workingdirectory>
        <logpath>%BASE%\logs</logpath>
        <logmode>rotate</logmode>
    
        <executable>java</executable>
        <arguments>-jar FaceDeviceCenter-0.0.1-SNAPSHOT.jar -Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=2048m</arguments>
    </service>

    很清晰的能看到我们在pom文件配置的插件属性是生效的

    一款将 SpringBoot 项目做成Windows Service 的 Maven 插件


    注意:

    1. 5个 bat 文件,请右键以管理员的身份运行
    2. 各文件的文件名无特殊情况,不需要修改
    3. 一旦安装成了 Windows 服务,目录下的文件就不要移动了
    4. 命令运行时,可能会提示安装.NET,安装完成就可运行命令了,不过现在大部分的 Windows 服务器或者个人电脑都会默认安装了.NET,没有的话启用一下就好了
    5. 运行各个命令是注意提示信息,例如卸载完服务都的状态为NonExistent,刚安装完服务后的状态为Stopped,服务成功启动的状态为Started...等等


    更为详细使用说明见 : https://github.com/JoyLau/joylau-springboot-daemon-windows

    做个快乐的删库程序员,随时准备跑路^_^
  • 相关阅读:
    联考20200801 T2 皮卡丘
    联考20200729 T2 划愤
    联考20200801 T1 林海的密码
    联考20200725 T2 Tree
    联考20200721 T1 s1mple
    联考20200730 T2 小B的环
    联考20200730 T1 小B的班级
    联考20200718 T1 因懒无名
    联考20200723 T1 数
    联考20200722 T1 集合划分
  • 原文地址:https://www.cnblogs.com/zcsheng/p/12892885.html
Copyright © 2020-2023  润新知