在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说明部署运行成功了:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/235329.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web 前端—HTML+CSS系列

HTML、CSS 一、HTMLCSS1.1什么是HTML、CSS1.2宇宙第一编辑器VS Code1.3Chrome浏览器1.4、深入了解网站开发 一、HTML基本操作1.web前端三大核心技术2.HTML初始代码3.HTML注释4.HTML语义化5.标题与段落6.文本修饰标签7.图片标签与图片属性8.引入文件的地址路径9.跳转链接10.跳转…

Leetcode—75.颜色分类【中等】

2023每日刷题&#xff08;六十五&#xff09; Leetcode—75.颜色分类 实现代码 class Solution { public:void sortColors(vector<int>& nums) {int red 0, white 0, blue 0;for(auto num: nums) {if(num 0) {red;} else if(num 1) {white;} else {blue;}}for…

在 Docker 上部署 Nacos 并连接到 MySQL

前言 本文旨在指导如何使用 Docker Compose 在 Docker 上部署 Nacos&#xff0c;并配置它连接到一个 MySQL 数据库。 前提条件 安装了 Docker 和 Docker Compose。 步骤 步骤 1: 创建 docker-compose.yml 文件 创建一个名为 docker-compose.yml 的文件&#xff0c;并将以…

机械、电气、自动化与人工智能融合:发展历程、问题与前景

导言 机械、电气、自动化行业与人工智能的结合&#xff0c;推动了工业革命的新浪潮。本文将深入研究这一融合的发展历程、遇到的问题、解决过程&#xff0c;以及未来的可用范围&#xff0c;着重分析在各国的应用现状和未来的研究趋势。同时&#xff0c;探讨在哪些方面能够取得胜…

环境搭建及源码运行_java环境搭建_idea版本下载及安装

1、介绍 Idea是一款被广泛使用的Java集成开发环境&#xff0c;它提供了丰富的功能和工具来帮助开发人员更高效地编写和调试代码。作为一款开源软件&#xff0c;Idea不仅提供了基本的代码编辑、自动完成和调试功能&#xff0c;还支持大量的插件和扩展&#xff0c;可为开发人员提…

MySQL基本操作 DDL DML DQL三大操作介绍

DDL 数据(结构)定义 创建表DML 数据操作 增删改DQL 查询语句 DDL 数据(结构)定义 创建表 创建 删除数据 注释 --空格内容 创建数据库 CREATE DATABASE [if not exists] 数据库名 [ CHARSET utf8]eg:CREATE DATABASE IF NOT EXISTS school CHARSET utf8如果对应school不存在,…

【NextJS】API请求执行两次的原因及解决方法

实验环境 next&#xff1a; 14.0.4react&#xff1a; ^18 实验代码 // file: app\page.tsx use client;export default function Home() {console.log(test)return (<></>) }原因 测试发现创建默认工程上面代码会输出两次test&#xff0c;其原因是为了模拟立即卸…

【WeLink群消息机器人webhook介绍】

WeLink群消息机器人webhook介绍 一、背景:如何理解bot和webhook? 机器人(bot)是一种新型的应用形态,新的协同方式对话即服务,在应用中典型形态即为bot,用户在聊天界面跟一个机器人的虚拟账号,通过对话的方式,实现跟后端系统的交互,如主动发送消息给机器人,机器人返…

智慧安防视频监控EasyCVR如何通过回调接口向第三方平台推送RTSP视频通道离线通知

安防视频监控系统EasyCVR能在局域网、公网、专网等复杂的网络环境中部署&#xff0c;可支持4G、5G、WiFi、有线等方式进行视频的接入与传输、处理和分发。平台能将接入的视频流进行汇聚、转码、多格式输出和分发&#xff0c;具体包括&#xff1a;RTMP、RTSP、HTTP-FLV、WebSock…

文件传输软件SecureFX mac支持多种协议

SecureFX mac是一款文件传输客户端&#xff0c;可在 Mac 操作系统上使用。它由 VanDyke Software 公司开发&#xff0c;旨在为用户提供安全、可靠、高效的文件传输服务。 SecureFX 支持多种协议&#xff0c;包括 SFTP、SCP、FTP、FTP over SSL/TLS 和 HTTP/S。它使用强大的加密…

GEM5 Garent CPU cache消息传递路径:1. NI部分

简介 我们仔细分析下图怎么连的&#xff0c;以及消息传递路径。 图来自https://www.gem5.org/documentation/general_docs/ruby/ 代码的连接 fs.py->ruby.py-> gem5/configs/ruby/MESI_Two_Level.py 中的 create_system( options, full_system, system, dma_ports, b…

uniapp运行到手机模拟器

第一步&#xff0c;下载MUMU模拟器 下载地址&#xff1a;MuMu模拟器官网_安卓12模拟器_网易手游模拟器 (163.com) 第二步&#xff0c;运行mumu模拟器 第三步&#xff0c;运行mumu多开器 第三步&#xff0c;查看abs 端口 第四步&#xff0c;打开HBuilder,如下图&#xff0c;将…

使用TikTok云手机轻松拓展全球市场

TikTok作为一款风靡全球的短视频应用&#xff0c;全球影响力不断扩大。越来越多的商家开始借助TikTok分享作品、在海外市场上获取商业机会。要想更好地借助TikTok扩大海外市场&#xff0c;使用TikTok云手机是一个好选择。本文将介绍TikTok云手机的几大作用&#xff0c;以助您更…

AI创作系统ChatGPT商业运营网站系统源码,支持AI绘画,GPT语音对话+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

Zookeeper-快速入门、服务搭建、集群搭建教程

官网&#xff1a;https://zookeeper.apache.org/ zookeeper常用用途&#xff1a; 集群管理&#xff0c;zookeeper作为注册中心&#xff0c;管理服务提供方的ip地址端口号url信息&#xff0c;并在服务消费方请求需要时发送给服务消费方。配置中心&#xff08;不过一般用阿波罗…

【重点】【DP】1143.最长公共子序列|516.最长回文子序列

两个求解代码类似的题目&#xff0c;对比记忆&#xff01;&#xff01;&#xff01; 1143.最长公共子序列 题目 法1&#xff1a;DP&#xff0c;考虑空串 class Solution {public int longestCommonSubsequence(String text1, String text2) {int m text1.length() 1, n …

AUTOSAR从入门到精通-诊断事件管理模块(DEM)(一)

目录 前言 几个高频面试题目 DEM和DET模块的区别 原理 Dem模块功能

Keil编译STM32工程,提示__align(4)处语法错误

好久没有用Keil编程&#xff0c;因为别人的代码是用Keil写的&#xff0c;所以又得安装起来&#xff0c;编译时遇到__align(4)的错误提示。 这个问题主要是编译器版本的问题&#xff0c;默认使用的是v6.19版本的编译器&#xff0c;而工程原来使用的是v5版本的&#xff0c;两个编…

探索 Vuex 的世界:状态管理的新视角(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

简易版chalk

简易版chalk 参考文档 chalk/chalk: &#x1f58d; Terminal string styling done right (github.com) 【MINI 系列】五颜六色的控制台) ANSI转义序列 - 维基百科&#xff0c;自由的百科全书 (wikipedia.org) “ANSI 转义序列&#xff08;ANSI escape sequences&#xff09;…