运行 Spring Boot 有哪几种方式?

news2024/11/16 7:37:13

目录

一、打包用命令或者放到容器中运行

二、用 Maven 插件运行

三、用  Gradle 插件运行

四、直接执行 main 方法运行


 

一、打包用命令或者放到容器中运行

通过打包和放到容器中运行SpringBoot项目有以下几种方式:

  1. 打包为Jar文件:
    使用Maven或Gradle等构建工具,执行打包命令将SpringBoot项目打包为可执行的Jar文件。在命令行中使用以下命令:

    mvn package     // 使用Maven打包
    gradle build    // 使用Gradle打包

    打包完成后,可以在target或build目录下找到生成的Jar文件。然后使用以下命令运行项目:

    java -jar your-project.jar

  2. 打包为War文件:
    默认情况下,SpringBoot项目会以嵌入式Servlet容器的方式运行,但也可以将其打包为War文件,以部署到外部Servlet容器中(如Tomcat、Jetty等)。
    在pom.xml文件中添加以下配置:

    <packaging>war</packaging>

    通过Maven或Gradle等构建工具执行打包命令:

    mvn package     // 使用Maven打包
    gradle build    // 使用Gradle打包

    打包完成后,将生成的War文件部署到外部Servlet容器的webapps目录下,重启容器即可。

  3. 使用Docker容器:
    可以将SpringBoot项目打包为镜像,并运行在Docker容器中。首先需要编写Dockerfile文件,定义镜像的构建流程。示例Dockerfile如下:

    FROM openjdk:8-jdk-alpine
    ADD target/your-project.jar app.jar
    ENTRYPOINT ["java", "-jar", "app.jar"]

    在SpringBoot项目的根目录下执行以下命令构建镜像:

    docker build -t your-image-name .

    构建完成后,可以使用以下命令运行镜像:

    docker run -p 8080:8080 your-image-name

     

二、用 Maven 插件运行

要使用Maven插件运行SpringBoot项目,需要在项目的pom.xml文件中配置相应的插件。以下是配置和使用Maven插件运行SpringBoot项目的步骤:

在pom.xml文件的<build>标签内添加<plugins>标签,并在其中配置spring-boot-maven-plugin插件。示例如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

保存pom.xml文件并刷新Maven项目以使更改生效。

在命令行中切换到项目的根目录,执行以下命令以启动SpringBoot项目:

mvn spring-boot:run

Maven插件将自动编译和打包项目,并将嵌入式Servlet容器启动运行SpringBoot应用程序。

请注意,确保在运行项目之前,已经正确配置了项目的依赖项和其他必要的配置信息。另外,确保已经正确安装和配置了Maven环境。

 

三、用  Gradle 插件运行

要使用Gradle插件运行SpringBoot项目,需要在项目的build.gradle文件中配置相应的插件。以下是配置和使用Gradle插件运行SpringBoot项目的步骤:

在build.gradle文件中添加apply plugin: 'org.springframework.boot',这将应用Spring Boot插件。

在dependencies部分添加Spring Boot的依赖项。例如

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    // 其他依赖项...
}

在命令行中切换到项目的根目录,执行以下命令以启动SpringBoot项目:

./gradlew bootRun

如果使用Windows操作系统,则执行以下命令:

gradlew.bat bootRun

Gradle插件将自动编译和打包项目,并启动嵌入式Servlet容器运行Spring应用程序。

请注意,在运行项目之前,确保正确了项目的依赖项和其他必要的配置信息。另外,确保已经正确安装和配置了Gradle环境。

 

四、直接执行 main 方法运行

要通过直接执行main方法运行Spring Boot项目,可以按照以下步骤进行操作:

确保你已经正确配置了Spring Boot项目,并且项目的入口类中有一个包含main方法的类。

打开入口类,找到包含main方法的类。一般况下,入口类会被注解@SpringBootApplication标记。

在包含main方法的类中,找到main方法的定义。它的签名应该类似于以下代码:

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

其中YourSpringBootApplication.class是你的Spring Boot应用程序的入口类。

确保你的项目已经构建完成,并且已经生成了可执行的JAR文件。

打开终端或命令行界面,并导航到JAR文件所在的目录。

在命令行输入以下命令来运行Spring Boot项目:

java -jar your-project.jar

这里的your-project.jar是你的项目的JAR文件名。

按下回车键,然后Spring Boot应用程序将会启动并开始运行。

通过以上步骤,你就可以通过直执行main方法来运行Spring Boot项目了。记得在运行之前,确保已经正确配置项目并生成了可执行的JAR文件。

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

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

相关文章

安装CUDA与CUDNN与Pytorch(最新超级详细图文版本2023年8月最新)

一、安装CUDA 1.1、下载安装包 cuda可以认为就是Nvidia为了显卡炼丹搞的一个软件&#xff0c;其下载地址为&#xff1a;CUDA Toolkit 12.2 Update 1 Downloads | NVIDIA Developer 当你点进这个链接的时候&#xff0c;你需要依次选择 1是选择系统&#xff0c;这里选windows…

【学习日记】【FreeRTOS】任务句柄、任务控制块TCB、任务栈、任务、就绪表详解

写在前面 本文是对FreeRTOS中任务句柄、任务控制块TCB、任务栈、任务、就绪表详解。 一、裸机和RTOS中函数存储位置详解 左图为裸机开发时 RAM 的使用情况&#xff0c;右图是使用了 FreeRTOS 后 RAM 的使用情况&#xff08;图片来自野火&#xff09;。 无论是裸机开发还是Fr…

每天一道leetcode:剑指 Offer 26. 树的子结构(中等递归BFS广度优先遍历树)

今日份题目&#xff1a; 输入两棵二叉树A和B&#xff0c;判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构&#xff0c; 即A中有出现和B相同的结构和节点值。 例如: 给定的树 A: 3 ​/ \ ​4 5 ​/ \ ​1 2 给定的树 B&#xff1a; 4 ​/ ​1 返…

[Axios]在Axios中,怎么实现监听上传数据进度、监听接口返回数据进、如何终止网络请求。实现上传文件实时进度条以及下载文件实时进度条。

1. Axios的本质 Axios的本质是XHR的promise封装&#xff0c;所以XHR的一些函数对它也同样适用。2. 如何监听上传数据的实时进度 // 涉及函数onUploadProgress // 形参: event // 函数作用&#xff1a;请求接口上传的过程中会不停的调用onUploadProgress函数 axiox({url: api/…

自然语言处理: 第七章GPT的搭建

理论基础 在以transformer架构为框架的大模型遍地开花后&#xff0c;大模型的方向基本分成了三类分别是: decoder-only架构 , 其中以GPT系列为代表encoder-only架构&#xff0c;其中以BERT系列为代表encoder-decoder架构&#xff0c;标准的transformer架构以BART和T5为代表 大…

spring 面试题

一、Spring面试题 专题部分 1.1、什么是spring? Spring是一个轻量级Java开发框架&#xff0c;最早有Rod Johnson创建&#xff0c;目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack&#xff08;一站式&#xff09;轻量…

计算机视觉一 —— 介绍与环境安装

傲不可长 欲不可纵 乐不可极 志不可满 一、介绍 研究理论和应用 - 研究如何使机器“看”的科学 - 让计算机具有人类视觉的所有功能 - 让计算机从图像中&#xff0c;提取有用的信息&#xff0c;并解释 - 重构人眼&#xff1b;重构视觉皮层&#xff1b;重构大脑剩余部分 计…

RabbitMQ 发布确认机制

发布确认模式是避免消息由生产者到RabbitMQ消息丢失的一种手段 发布确认模式 原理说明实现方式开启confirm&#xff08;确认&#xff09;模式阻塞确认异步确认 总结 原理说明 生产者通过调用channel.confirmSelect方法将信道设置为confirm模式&#xff0c;之后RabbitMQ会返回Co…

使用postman做接口测试

1.接口测试&#xff1a;针对软件对外提供服务的接口的输入输出进行测试&#xff0c;以及接口间相互逻辑的测试&#xff0c;验证接口功能与接口描述文档的一致性 2.接口测试流程&#xff1a; 1&#xff09;获取接口信息&#xff1a;通过接口文档或抓包来获取接口的基本调用方式和…

【脚踢数据结构】内核链表

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言,Linux基础,ARM开发板&#xff0c;软件配置等领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff01;送给自己和读者的一句鸡汤&#x1f914;&…

【iOS安全】开启任意app的WebView远程调试

参考&#xff1a;https://mp.weixin.qq.com/s/bNKxQaVrPaXsZ5BPbsXy7w &#xff08;来自周智老师的公众号&#xff09; 概述 Safari 有一个内置的前端调试器&#xff0c; 在iPhone通过局域网或者USB连接MacBook 并启用Safari 远程调试之后&#xff0c;前端调试器默认情况下对…

【机器学习1】什么是机器学习机器学习的重要性

什么是机器学习? 简而言之&#xff0c;机器学习就是训练机器去学习。 机器学习作为人工智能(Artificial Intelligence,AI)的一个分支&#xff0c;以其最基本的形式来使用算法通过从数据中获取知识来进行预测。 不同于人类通过分析大量数据手动推导规则和模型&#xff0c;机…

释放AI创作潜能:从大模型训练到高产力应用

文章目录 每日一句正能量前言什么是人工智能生成内容&#xff08;AIGC&#xff09;人工智能生成内容&#xff08;AIGC&#xff09;能做什么为什么要用人工智能生成内容&#xff08;AIGC&#xff09;创作成果用Java实现冒泡排序算法学生信息收集系统学生请假管理系统需求分析教务…

SpringBoot 依赖管理

Spring Boot 依赖管理 1. 父项目做依赖管理 无需关注版本号&#xff0c;自动版本仲裁机制 <!-- 依赖管理 --> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version&g…

利用 PHP 特性绕 WAF 测试

在测试绕过 WAF 执行远程代码之前&#xff0c;首先构造一个简单的、易受攻击的远程代码执行脚本&#xff0c;内容如图&#xff1a; 第 6 行是一个比较明显的命令执行代码&#xff0c;第 3 行尝试拦截 system、exec 或 passthru 等函数&#xff08;PHP 中有许多其他函数可以执行…

CTF REVERSE练习之脱壳分析

今天要介绍脱壳分析的实验。壳&#xff0c;在自然界中&#xff0c;植物用壳来保护种子&#xff0c;动物用壳来保护身体等。同样&#xff0c;在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。他们附加在原程序上通过Windows加载器载入内存后&#xff0c…

FreeRTOS(任务管理的创建、删除、挂起、恢复)

目录 一、任务的基本概念 二、任务状态的概念 1、Running—运行态&#xff1a; 2、Ready—就绪态 3、Blocked—阻塞态 4、Suspended—挂起态 三、任务状态的切换 四、系统启动 1、vTaskStartScheduler()函数 1.1 作用 1.2 启动函数介绍 2、空闲任务 2.1 空闲任务的作…

mac安装vscode 配置git

1、安装vscode 官网地址 下载mac稳定版安装很慢的解决办法 (转自) mac电脑如何解决下载vscode慢的问题 选择谷歌浏览器右上角的3个点&#xff0c;选择下载内容&#xff0c;右键选择复制链接地址&#xff0c;在新窗口粘贴地址&#xff0c; 把地址中的一段替换成下面的cscode.sd…

新的里程碑!纪念正月十六工作室博客总访问量突破两百万

时值盛夏&#xff0c;清风徐徐&#xff0c;不觉间我们的博客访问量又迈入了新的里程碑——访问量突破两百万&#xff01; 总访问量突破百万&#xff1a; 个人成就&#xff1a; 记得上次突破重大里程碑还是去年夏天&#xff0c;那时我们重修岳阳楼&#xff0c;追往忆&#…

小程序商品如何设置阶梯价?

阶梯价在电商小程序中是一种常见的销售策略&#xff0c;可以吸引更多的消费者并提高销售额。下面将介绍一些怎么设置小程序产品的阶梯价的方法。 1. 添加/修改商品的时候&#xff0c;点击阶梯价&#xff0c;会弹出阶梯价设置界面。 2. 设置阶梯价规则。例如&#xff0c;当消费者…