如何让自己的SpringBoot程序在Windows环境下打包运行?

简介: 如何让自己的SpringBoot程序在Windows环境下打包运行?

一、前言

大家好,我是卷心菜,大二学生一枚。


博主已经在自己的springboot专栏:springboot学习记录,更新了九篇文章,分别涉及:配置文件的初级和高级使用,多环境开发的使用、代码测试的具体应用、日志的详细介绍以及用springboot整合基本的技术框架等等,这些代码都运行在idea中,那么今天就来介绍一下如何在Windows系统下运行自己的代码。


那么通过这篇文章,各位小伙伴们可以收获哪些呢?


Windows系统下运行springboot程序

项目上线的流程,简单介绍

程序的打包和运行

废话不多说,满满的干货,赶快来看看吧~


二、流程介绍

大家都很明白,我们天天写程序是在Idea下写的,运行也是在Idea下运行的,但是自从自己看了springboot开发完成一个小项目的操作后,才知道我们的项目是不可能运行在自己的电脑上的。


以后制作的程序是运行在服务器上的,简单说就是将我们写的程序放在一台独立运行的电脑上,就叫他服务器吧。


那我们的程序如何运行在服务器上呢,这里面就存在两个过程,一个是打包的过程,另一个是运行的过程。


温馨提示


项目上线为了保障环境适配性会采用下面流程发布项目,了解一下:


开发部门使用Git、SVN等版本控制工具上传工程到版本服务器

服务器使用版本控制工具下载工程

服务器上使用Maven工具在当前真机环境下重新构建项目

启动服务

三、程序打包

那么就开始我们的程序打包这个操作吧:


SpringBoot程序是基于Maven创建的,在Maven中提供有打包的指令,叫做package。具体指令如下:


mvn package


本操作可以在Idea环境下执行:


首先先看看自己程序的初始目录,如下:

image.png

然后在maven中执行下面两个操作:

image.png

执行之后,大家就可以发现初始目录发生了变化,多了一个target文件夹,具体如下:

image.png

打包后会产生一个与工程名类似的jar文件,其名称是由模块名+版本号+.jar组成的。


四、程序运行

既然打包好了,那么我们该如何运行这个jar包呢?


程序包打好以后,就可以直接执行了。在程序包所在路径下,执行指令。


java -jar 工程包名.jar


看看我的具体演示:

image.png

然后在命令行输入java -jar springboot_01_02-0.0.1-SNAPSHOT.jar,就可以运行了


写一个代码用来测试一下:


@RestController
@RequestMapping("/books")
public class BookController {
    @GetMapping("/getBooks")
    public String getBooks() {
        return "Hello,SpringBoot is running";
    }
}


输入测试地址:http://localhost:8080/books/getBooks

image.png


从测试中可以看出,执行程序打包指令后,程序正常运行,与在Idea下执行程序没有区别。


五、注意点

如果计算机中没有安装java的jdk环境,是无法正确执行上述操作的,因为程序执行使用的是java指令。

在使用向导创建SpringBoot工程时,pom.xml文件中会有如下配置,这一段配置千万不能删除,否则打包后无法正常执行程序。

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


六、总结

SpringBoot工程可以基于java环境下独立运行jar文件启动服务

SpringBoot工程执行mvn命令package进行打包

执行jar命令:java –jar 工程名.jar


相关文章
|
16天前
|
弹性计算 开发框架 安全
基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发
本文将基于云效 Flow 流水线 Windows 构建环境和云效 Packages Nuget 制品仓库手把手教你如何开发并部署一个 .NET 应用,从环境搭建到实战应用发布的详细教程,帮助你掌握 .NET 开发的核心技能。
|
1月前
|
Dart 搜索推荐 IDE
Windows下Zed编辑器配置Dart环境
本文介绍了Dart编程语言及其主要框架Flutter的优势,并推荐使用轻量级编辑器Zed进行Dart开发。详细步骤包括Dart环境的安装与配置,Zed编辑器的安装与个性化设置,以及如何在Zed中编写并运行Dart的HelloWorld程序。通过自定义任务实现Dart文件的快速运行,提高了开发效率。
|
2月前
|
Oracle 关系型数据库 MySQL
Mysql(1)—简介及Windows环境下载安装
MySQL 是一个流行的关系型数据库管理系统(RDBMS),基于 SQL 进行操作。它由瑞典 MySQL AB 公司开发,后被 Sun Microsystems 收购,现为 Oracle 产品。MySQL 是最广泛使用的开源数据库之一,适用于 Web 应用程序、数据仓库和企业应用。
64 2
|
2月前
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
3月前
|
Windows Python
python获取windows机子上运行的程序名称
python获取windows机子上运行的程序名称
|
3月前
|
小程序 Windows
MASM32编写的程序在Windows 7,10下运行正常,但在Win XP下运行时只闻其声不见其形的故障
MASM32编写的程序在Windows 7,10下运行正常,但在Win XP下运行时只闻其声不见其形的故障
|
2月前
|
安全 API C#
C# 如何让程序后台进程不被Windows任务管理器强制结束
C# 如何让程序后台进程不被Windows任务管理器强制结束
79 0
|
2月前
|
Windows
Windows系统环境编写DOS批处理文件
Windows系统环境编写DOS批处理文件
46 0
|
3月前
|
安全 网络安全 API
基于WMI更新Windows系统信息采集程序sysInfo的一些收获
基于WMI更新Windows系统信息采集程序sysInfo的一些收获
|
PHP Windows 容器
43、Windows驱动程序模型笔记(一)
1、通常,驱动程序在某些不可预测线程的上下文中应该使用异步方式处理I/O请求。我们使用术语任意线程上下文(arbitrary thread context)来描述驱动程序并不知道(或并不关心)处理器当前执行在哪一个线程上的上下文。
852 0