在Windows系统平台下部署运行服务端Idea工程的jar服务

前言

目前云原生docker等技术,加上部署流水线大大的简化了各种流程,我们后端开发的人员只需要提交代码后,构建、部署、测试、发布等环节都无需人员接入,完全的自动化交付了。那么你肯定不禁想问,如题的需求不是点击一个“run”按钮就搞定了,让前端连接你的服务进行测试即可,理想情况是可以的,如果你点了run就进行了划水,那就是这样美滋滋了。不过现实情况则是,别人测试的时候还有堆的工作等着你做,你不想干到深夜的话,还是部署到内网的一台闲置电脑上,继续干你的活比较实际点。那么就有如题的需求了。虽然很简单,但是还是把过程分享出来。

打包

这里默认了你配置了java的开发环境,如果没有的话,网上很多教程了,不做赘述了。也默认你有了idea的工程,如果没有的话,网上很多源码,下个测测吧。
直接使用 maven package (maven自带的package打包功能),点击右上角M图标,点击生命周期(Lifecycle),点击package。即可:
在这里插入图片描述

在这里插入图片描述

等待一小段时间,jar包就生成了,被放置在了target目录下,名称是*****-0.0.1-SNAPSHOT.jar。

部署运行

按理我们使用java -jar命令运行这个jar包即可,不过还是翻车了,项目是无法正常启动运行的,报错没有主清单属性:
在这里插入图片描述

网上查了一下是说

因为maven默认的打包功能打包Jar包的时候,不会将所依赖的Jar包一起打进去包内,所以在使用java -jar命令运行项目时会报错,项目无法正常启动。

要在在pom.xml中添加/修改maven打包依赖:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
</build>

添加后刷新一下Maven,等其加载好打包依赖后,重新点击package按钮,这时就完成了完整的打包。这时target目录下,除了*****-0.0.1-SNAPSHOT.jar,还有一个*****-0.0.1-SNAPSHOT.jar.original。

再运行java -jar 就能正常启动,当看到 Started *** in *** seconds (JVM running for ***)的时候则说明已经正常启动了。
在这里插入图片描述

快捷启动

将启动命令封装为.bat文件,采用bat命令启动jar包的方式。

@echo off
java -jar "C:\JavaServer\SystemApi-0.0.1-SNAPSHOT.jar"
pause

注意启动的路径需要根据自己的来,然后如果不在C盘需要切换磁盘。
开机自启动:
这里可以通过运行shell:startup命令来打开开机自启动目录:
在这里插入图片描述

我的目录是:

C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start
Menu\Programs\Startup

将上面的.bat文件或者其快捷方式放到上面的开机自启动目录下即可。
开机后自启动后,根据配置的端口访问一下localhost的地址:http://localhost:9201/#/;出现状态200说明部署运行成功了:

在这里插入图片描述

相关推荐

  1. jar服务注册为windows服务

    2023-12-21 09:32:04       18 阅读
  2. 服务器永久运行jar包(linux系统

    2023-12-21 09:32:04       37 阅读
  3. Idea中创建基于工件本地服务

    2023-12-21 09:32:04       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-21 09:32:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-21 09:32:04       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-21 09:32:04       82 阅读
  4. Python语言-面向对象

    2023-12-21 09:32:04       91 阅读

热门阅读

  1. 真实并发编程问题-1.钉钉面试题

    2023-12-21 09:32:04       53 阅读
  2. Python中的文件读取方法:read、readline和readlines

    2023-12-21 09:32:04       57 阅读
  3. Android开发中,百度语音集成之一

    2023-12-21 09:32:04       50 阅读
  4. 小程序完结总结

    2023-12-21 09:32:04       50 阅读
  5. 【Linux基本指令(2)】

    2023-12-21 09:32:04       59 阅读
  6. 深度学习中聚类的“类”指的是什么

    2023-12-21 09:32:04       59 阅读
  7. 小程序常用实用例子

    2023-12-21 09:32:04       56 阅读
  8. oppo 手机刷机流程

    2023-12-21 09:32:04       69 阅读
  9. BC115超级圣诞树

    2023-12-21 09:32:04       66 阅读
  10. 【算法题】2. 两数相加

    2023-12-21 09:32:04       60 阅读
  11. DjangoRestFramework(drf实现五个接口)

    2023-12-21 09:32:04       51 阅读
  12. 正则表达式:掌握文本处理的秘密武器

    2023-12-21 09:32:04       55 阅读