SpringBoot启动程序方式(服务器启动SpringBoot)

【开源~磁悬浮】零代码,纯硬件闭环:从霍尔到H桥的磁悬浮稳定术 本文详细介绍了如何不依赖任何代码,仅通过模拟和数字电路的组合,实现一个完整的磁悬浮闭环控制系统。从霍尔传感器检测位置,到运放电路进行信号调理与模拟PID控制,再到H桥驱动电磁铁执行纠偏,全程使用基础电子元器件搭建。文章深入剖析了系统原理、电路设计、调试技巧与实践经验,展现了纯硬件实现自动控制的独特魅力与挑战。 阅读详情

概述

使用SpringBoot框架的方便之处就不谈了,今天介绍下SpringBoot的几种启动方式和在生产环境应该如何启动。

一、通过IDE工具(开发阶段)

通过IDE工具(Eclipse、IDEA等)运行启动类的main方法(适合开发阶段使用),第一种方法应该是同学们最熟悉的方式了,启动起来也是最容易的,只要点击运行按钮就ok,不做详细介绍了,会Java的都懂。

@SpringBootApplication
public class HealthyApplication {
    public static void main(String[] args) {
        SpringApplication.run(HealthyApplication.class, args);
    }
}

二、通过程序jar包,命令行方式启动(*线上部署阶段)- 重点掌握

2.1 首先将程序使用IDE(Eclipse或IDEA),通过Maven命令(package或install)生成jar文件。

  • Eclipse生成jar方法:右键项目 -> Run as -> Maven install。即可在项目工作空间target文件夹下生成出对应的.jar文件。
  • IDEA生成jar方法:打开Maven视图区,点击package或install命令,即可在项目target文件夹下生成.jar文件,如图:

2.2 如果远程服务器部署应用,将jar文件上传至服务器,切换至jar所在目录。此处为本地测试,命令行切换到jar文件所在目录:> cd   jar所在文件目录(本文使用jar名称为healthy.jar)

2.2.1 启动应用

使用命令java -jar healthy.jar 启动应用,启动效果如下:

java -jar 命令可以在启动时添加或修改任意的SpringBoo配置文件中的配置信息如:启动时修改启动端口号,使用:

java -jar healthy.jar --server.port=8888

2.2.2 关闭应用

关闭程序只要将当前窗口关闭就可以将应用停止。可在实际生产中,我们需要关闭窗口让程序继续运行,则上面的启动方式就需要修改。因为一般线上部署在Linux服务器,此处只以Linux服务器做启动关闭应用说明。

新启动方式:nohup java -jar healthy.jar &

nohup命令说明

nohup 命令忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。如果指定输出文件名称则在命令后添加 >./healthy.log

默认nohup仅把输出记录到文件中,如果要把错误和输出全部记录到文件中则在命令后添加 2>&1

终极命令: nohup java -jar xxxx.jar > ./xxxx.log 2>&1 &

返回的2889是程序运行的进程号。此时日志信息已经重定向到项目当前的healthy.log文件中了。因为程序是在后台运行,现在关闭所有窗口,也可以一样访问页面。

虽然启动程序可以关闭窗口了,可是关闭程序也带来了麻烦,现在关闭程序只能通过kill进程号来关闭。

  • 先获取程序的进程号使用ps -ef | grep healthy.jar  图中返回的2889就是程序运行的进程号。

  • 再使用kill -9 2889来关闭程序。

以上就是SpringBoot在生产环境的启动和关闭程序,可是每次输入这么多命令太麻烦了,好一点的办法是新建一个启动(start.sh)和关闭(stop.sh)的脚本,每次执行两个脚本(./start.sh或./stop.sh)就可以了。可以参考以下两个脚本的写法(把healthy.jar换成自己的程序):

  • start.sh脚本中的内容为:
nohup java -jar healthy.jar >./healthy.log 2>&1 &
  • stop.sh脚本中的内容为:
#!/bin/bash
PID=$(ps -ef | grep healthy.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo Application is already stopped
else
    echo kill $PID
    kill $PID
fi

如果start.sh和stop.sh没有执行权限则使用:chmod 777 start.sh 这样start.sh就有了执行权限。./start.sh来执行文件。

这样我们项目启动后就类似这样的结构,如果修改了程序,只需要替换healthy.jar文件。执行或者关闭程序,则通过那两个执行脚本来完成,就方便多了。

三、使用Maven命令启动程序

  1. 首先需要切换到项目pox.xml所在的目录下;
  2. 执行mvn spring-boot:run即可。

此方法是通过Maven插件的方式启动SpringBoot程序,控制台会显示下载maven文件过程,启动后效果类似java -jar方式,因此不在演示,可自行实验。

四、总结

文章介绍了三种启动SpringBoot的方式,分别是IDE运行启动类main方法、java命令、maven命令。

开发阶段推荐大家使用IDE直接启动程序就好;服务器部署程序使用java -jar命令,虽然麻烦一点,不过大家如果按步骤去操作,绝对也可以轻松实现和关闭程序的,觉得文章有帮助,点个赞试试吧。

(完)  

Slow waitForAckedSeqno took 64873ms (threshold=30000ms). File being written 阅读详情

相关推荐

stm32cubeMX使用HAL库点亮LED流水灯

目录

weixin_46129506的博客 3794

在服务器上启动springboot项目

在服务器上启动springboot项目

小何的博客 1676

JPA - @MappedSuperclass - 基类注解

目录前言代码示例 前言 @MappedSuperclass注解一般作为基类的注解,表眀该类是映射的超类,继承于它的子类实体在映射时会自动添加到子类实体的对应数据库表中,用于共同的属性代码复用和模型分离。 代码示例 BaseEntity.java import lombok.Getter; import lombok.Setter; import javax.persistence.MappedSuperclass; import java.util.Date; @Getter @Setter @Ma

Maggieq8324的博客 2064

springboot在服务器上启动的几种方式,亲测通过!

首先温习两条linux命令: :%s#spring-boot-package-war1#spring-boot-package-war#g vi后批量将文件spring-boot-package-war1修改为spring-boot-package-war,注意在非编辑模式前面有冒号. cp -rf ./frmscs-manager2/*  ./frmscs-test/ ---------...

liyingying111111的专栏 1万+

传感器融合的智能演进:ST-MC-Workbench中霍尔与编码器的协同控制策略

本文探讨了ST-MC-Workbench中霍尔传感器与编码器的协同控制策略,通过传感器融合技术提升电机控制精度。文章详细介绍了分层处理架构、霍尔安装角度优化及编码器Z脉冲容错机制,展示了在新能源汽车和工业应用中的实际效果,为高精度位置检测提供了解决方案。

weixin_29159441的博客 481

LVI-SAM实战:如何在Ubuntu20.04上快速复现激光-视觉-惯性里程计系统

本文详细解析了在Ubuntu 20.04环境下部署和优化LVI-SAM激光-视觉-惯性里程计系统的全流程。从环境配置、依赖安装到源码编译和实战调参,提供了完整的解决方案和性能优化策略,帮助开发者快速实现厘米级精度的实时位姿估计。

m3n5b7v8c9x的博客 1046

springboot部署到服务器 启动_超详细-腾讯云服务器(CentOS7)部署一个简单的springboot应用且公网可以访问...

本文默认读者有一定linux基础。如果不会,就看得很费劲。准备工作:1.一个springboot jar包2.上传jar包到腾讯云服务器的工具,如WinSCP(没有请自己下载安装)3.登录腾讯云服务器终端的工具如xshell(没有请自己下载安装。可选,腾讯云服务器有提供web终端,可以在web终端输入命令进行操作)主要步骤:1.腾讯云服务器安装jdk2.准备springboot jar包2.上传j...

weixin_39695374的博客 1941

glm-4v-9b环境配置全攻略:从CUDA版本冲突到bitsandbytes异常排查(RTX A4000实测)

本文详细介绍了在RTX A4000显卡上配置GLM-4V-9B多模态大模型的完整流程,重点解决CUDA版本冲突和bitsandbytes异常问题。通过4-bit量化技术显著降低显存占用,提供从环境预检到量化部署的实战指南,帮助开发者在有限显存环境下高效运行大模型。

weixin_30369041的博客 405

SpringBoot 之启动流程

SpringBoot旨在简化Spring应用程序的开发和部署。在本文中,我们将深入分析SpringBoot启动过程的源代码,并提供必要的解释和说明。

爱老婆爱生活~ 758

Matlab+Matpower实战:手把手教你生成IEEE14节点FDIA攻击数据集(附完整代码)

本文提供了一份基于Matlab与Matpower工具构建IEEE14节点FDIA攻击数据集的完整实战指南。通过动态负荷数据模拟、潮流计算、状态估计及隐蔽攻击向量注入,手把手教你生成可用于电力系统网络安全研究的仿真数据集,并附有核心代码与调试技巧。

bean的博客 397

OpenClaw-遇到的问题-Health check failed: gateway closed (1006 abnormal closure (no close frame)): no clos

OpenClaw网关服务安装成功但运行异常,显示健康检查失败(错误代码1006)。系统提供了Web控制界面(http://127.0.0.1:18789/)和带令牌的安全访问链接。文档建议参考故障排除指南,并提供了可选应用扩展功能(包括移动端支持)。注意运行本地代理存在安全风险,建议加固系统配置。若需启用网络搜索功能,需配置Brave搜索API密钥。安装完成后会自动打开仪表盘,需保持浏览器标签页以控制OpenClaw服务。

直到世界的尽头 1万+

springboot项目简单介绍、启动和部署

springboot项目介绍,启动和部署 springboot介绍 大家知道springboot是基于spring研发出来的,但是要知道springboot其实并不是对spring功能的增强,而是提供了一种快速使用spring的方式或者说是工具。 springboot集合了大量的第三方库,Spring Boot应用中这些第三方库几乎可以是零配置的开箱即用,大部分的 Spring Boot 应用都只...

qq_31142237的博客 4万+

HyperLynx(十四)高级分析技术

如果没有查找到该模型,可使用菜单命令“Setup”→“Options”→“Directories”,打开“Set Directories”对话框,单击“Edit”按钮,在“Select Directories for IC-Model Files”对话框中将路径“…在“Assign Models”对话框中的“Port”栏找到“OUTM”端口,在其对应的“Circuit Connection”栏中选择“txout”项。将端口R75连接到“Gnd”。同样,将“EMP”连接到“V”,完成预加重设置。...

小幽余生不加糖 4948

为什么学习SpringBoot和谈谈你对SpringBoot的理解及SpringBoot的优点

好文博客

weixin_47316183的博客 2115

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Springboot整合Netty的启动方式(一)

这个方法会阻塞,直到完成Netty初始化和启动完成,才能释放出线程资源。2025 [INFO] Netty服务器监听的端口:1919。2025 [INFO] Netty服务器启动成功......2025 [INFO] Netty服务器监听的端口:1919。2025 [INFO] Netty服务器启动成功......NettyApplication 服务启动......NettyApplication 服务启动......在前面Netty服务器类,有这么一个方法。编写Netty启动类。

shenxiaomo1688的博客 272

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Spring Boot-简单搭建SpringBoot

快速搭建SpringBoot与SpringBoot配置文件以及项目部署

肥羊的博客 316

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SpringBoot构建jar包并部署服务器

1. 在pom文件的plugin标签添加configuration指定主程序 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring...

FutureBook 325

【Spring】——SpringBoot项目创建

SpringBoot项目创建,SpringBootApplication启动类,target文件,web服务器,tomcat,访问服务器

阿华的博客 1494

window 自启动程序并定时检测进程(SpringBoot 项目)

自启动程序附带保活机制,即程序在服务器重启后自动启动,且定时检测程序是否存活,异常后则重启。

pkyShare 的博客 3014

SpringBoot的启动方式之SpringBootServletInitializer

SpringBoot的启动方式之SpringBootServletInitializer 第一天工作,看大佬写的源码的时候,突然发现在启动类下面还有一个类 public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

xiaozhuzhuyang的博客 7806

Idea导入SpringBoot项目时,Springboot通过application启动报错

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2021-04-25 11:25:29.394 ERROR 24572 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframewo

m0_53703555的博客 891

SpringBoot 以Jar方式运行项目

Springboot 和 web 应用程序不一样,其本质上是一个 Java 应用程序,那么又如何部署呢?通常来说,Springboot 部署会采用两种方式:全部打包成一个jar,或者打包成一个war。 下面是jar的方式。在配有java环境变量的服务器下输入 就启动这个Jar文件了通过这种方式,把此Jar上传到服务器并运行,就可达到部署的效果了 !Ctrl+C退出,关闭tomcat.........

Tongyao 517

linux运行springboot,spring boot 应用程序在 linux 下的 部署及运行

SpringBoot 应用程序在 linux 下的部署及运行将 spring boot 应用程序打包成 jar 包我们使用 spring boot 的 maven 插件来构建管理整个应用程序,使用 mvn package 将应用程序打包成一个 jar 包将 该 jar 包上传到 服务器上传到服务器大致有两种方式(常见的):1)通过 xftp 这种方式;2)本文将要介绍的这种,我不太建议使用 xft...

weixin_34576293的博客 343

详解SpringBoot启动流程

总之,Spring Boot 在启动时会加载配置文件、创建 ApplicationContext、执行自动配置、执行启动任务、启动 Web 服务器,并运行应用程序。这些工作都由 Spring Boot 自动完成,开发人员只需要关注业务逻辑的实现即可。

weixin_46906359的博客 1390

如何用最少代码和配置实现springboot集成h2,优雅的同时创建h2数据库服务器和web控制台

本人也在网络上找了一下,几乎没有文章提到在springboot应用中,通过代码创建h2数据库服务器,即便有,步骤也含混不清,没有解决问题不说,反而增加了更多困扰。数据库文件路径d:/下的test1.mv.db数据库文件必须存在,如不存在,请参考之前的文章创建,也可以新建一个文本文档,改完整文件名(包含扩展名)为test1.mv.db,否则程序会报奇奇怪怪的错误:Connection is broken: "java.net.SocketException: 你的主机中的软件中止了一个已建立的连接。

weixin_61072261的博客 832

SpringBoot开发

5. 该方式创建项目必须要联网,就是1中的URL地址,我们也可以直接在官网上创建项目。运行SpringbootDemoApplication.java程序,即可成功启动。,不支持jdk1.8,使用Maven方式创建项目,并选择Spring Web。根据demos.web里面的控制类,可以看到成功返回。2. 项目创建成功后,如下图所示。需要将服务器URL修改为阿里云。

qq_45440311的博客 631
上一篇: Mybatis Plus使用技巧和实践(Mybatis-plus官方文档的补充)
下一篇: IDEA常用设置和启动优化配置(IDEA的通用设置这一篇文章就够用了)
小流至江河
博客等级 码龄9年 223粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值