0


SpringBoot实现动态配置及项目打包部署上线

写在前面

🍁个人主页:微枫Micromaple

✨本期专栏:《0到1项目搭建》欢迎订阅学习~

📌源码获取:GitCode、GitHub、码云Gitee 持续更新中,别忘了

star

喔~

本文讲解的是如何使用Spring动态配置文件,实现不同环境不同配置,灵活切换配置文件;以及讲述了如何使用 Maven 打包,然后上传至Linux服务器进行部署。(PS:如果你是新手,可以跟着系列专栏的框架搭建先动手把项目搭建起来,然后在结合本期内容继续深入学习,这样会有更好的效果。)

目录

一、动态配置文件

在这里插入图片描述

在定制镜像前,我们需要了解Spring动态指定配置文件的方式,来提高我们的部署效率。

1.1、概述

在实际企业开发中,

开发环境

测试环境

生产环境

通常采用不同的数据库等中间件的连接方式。如果此时我们按照目前的方式,只有一个

application.yml

配置文件,那么我们在不同环境下启动项目,都需要更改配置文件中的各种连接信息,虽然目前我们需要更改的连接地址少,但是每次去手动的更改这些信息,人工改的话是非常容易改错的。

Spring 提供了可以指定配置文件启动的方式,这样使得我们可以灵活的切换配置文件。

目前项目中也使用了这个指定配置文件的方式,只不过是在配置文件中指定的。代码如下图:

在这里插入图片描述

我们要做的是,在启动的时候指定。我们需要复制配置文件

application.yml

application-druid.yml

,命名为

application-prod.yml

application-druid-prod.yml

,用来区分开发环境和生产环境,多个环境同理。

不指定配置文件,默认读取

application.yml

,我们开发的时候,可以直接启动项目。我们也可以分出一个

dev

的配置,这个看个人开发习惯。

1.2、启动方式

1.2.1、jar包启动

在区分出了生产环境的配置后,我们通过jar包方式启动项目的时候,增加参数指定,可以在启动项目的时候,指定配置文件。代码如下:

java -jar xxx.jar --spring.profiles.active=prod,druid-prod

注意:

**指定多个配置文件,使用

,

号分割。**

**启动项目的时候指定了配置文件,在

yml

中配置的 spring.profiles.active 会失效**

1.2.2、IDEA启动配置

  1. 在 IDEA 中配置profiles是非常简单的。
  2. 点击 IDEA 上方菜单Run
  3. 选择Edit Configurations...
  4. 选择Spring Boot下的 MyProjectServerApplication
  5. 找到Active profiles输入框,输入需要指定的配置文件后缀。例如:prod,druid-prod
  6. 点击OK即可。

如下图:

在这里插入图片描述
在这里插入图片描述

配置好后,使用IDEA启动项目,就会自动指定配置文件了。不需要的时候,直接删掉保存就可以了。

二、项目打包

我们在生产环境运行的时候,是使用jar的方式启动的。这里就需要我们将我们的项目打成jar,然后把项目运行起来。

项目结构如下:
模块用途

my-project-dependencies

统一的依赖管理

my-project-common

通用模块

my-project-generator

代码生成器

my-project-server

项目服务模块
本次构建的项目服务模块

my-project-server

依赖

my-project-dependencies

my-project-common

。所以需要先把这两个模块

install

安装到本地,以便

my-project-server

打包的时候,可以依赖到这两个模块。

项目打包的方式有多种,这里就简单介绍常用的两种方式。

2.1、IDEA打包

IDEA 打包方法:

  1. 点击右侧Maven菜单
  2. 双击打开要操作的模块
  3. 点击Lifecyle
  4. 双击需要进行的操作。例如:clean、install、package

如下图:

在这里插入图片描述

步骤:

  1. install安装my-project-dependencies
  2. install安装my-project-common
  3. package打包my-project-server

2.2、Maven命令打包

步骤还是跟上个方式的步骤一致,不一样的是使用

Maven命令

,这里借助bat的方式,一次完成。

在模块同济目录下创建一个

bin

目录后,创建批处理文件

package.bat

。代码如下:

cd..cd my-project-dependencies
call mvn installcd..cd my-project-common
call mvn clean install -Dmaven.test.skip=true

cd..cd my-project-server
call mvn clean package -Dmaven.test.skip=true

cd..

打包时,只需要执行

bin

目录下的

package.bat

文件即可完成打包。

-Dmaven.test.skip=true 意思为跳过测试。项目打包过程中,会执行我们编写的测试类。我们在日常项目开发过程中,或多或少会写测试类,这个参数就可以在打包的时候,跳过测试类的执行。

三、项目部署

打包完成后,会在项目的

target

目录下生成一个项目的

jar包

,这个就是我们最终运行的程序了。如图所示:

在这里插入图片描述

3.1、安装环境

打包完成后,我们会将程序上传至服务器进行运行,服务器需要安装Java运行环境。

1)、下载

下载地址:

https://www.oracle.com/java/technologies/downloads/#java8

找到Linux版本进行下载,可能需要登录,登录下载即可。

在这里插入图片描述

2)、创建目录

mkdir -p /usr/local/java

3)、上传文件至该目录

在这里插入图片描述

$ ls -al
total 144704
drwxr-xr-x  2 root root      4096 Oct  515:19 ./
drwxr-xr-x 14 root root      4096 Oct  515:18 ../
-rw-r--r--  1 root root 148162542 Oct  515:19 jdk-8u341-linux-x64.tar.gz

4)、解压缩

tar -zxvf jdk-8u341-linux-x64.tar.gz

5)、配置系统变量

vim /etc/environment

添加如下语句

exportJAVA_HOME=/usr/local/java/jdk1.8.0_341
exportJRE_HOME=/usr/local/java/jdk1.8.0_341/jre
exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

6)、配置用户环境变量

vim /etc/profile

添加如下语句

exportJAVA_HOME=/usr/local/java/jdk1.8.0_341
exportJRE_HOME=/usr/local/java/jdk1.8.0_341/jre
exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

环境变量生效

source /etc/profile

7)、测试

$ java -version
java version "1.8.0_341"
Java(TM) SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot(TM)64-Bit Server VM (build 25.341-b10, mixed mode)

出现正常的版本号,说明安装成功啦~

3.2、项目启动

创建目录

mkdir -p /usr/local/apps/my-project

将之前项目打包的

jar包

上传至该目录

在这里插入图片描述

启动项目有多种方式

前台启动一,这种方式启动,会在窗口上输出启动日志,如果关闭窗口或者

Ctrl
  • C
    
    ,会终止程序。
java -jar my-project-server-1.0.0-SNAPSHOT.jar

前台启动二,这种方式启动,也会在窗口上输出启动日志,如果

Ctrl
  • C
    
    ,程序依然正常运行。
java -jar my-project-server-1.0.0-SNAPSHOT.jar &

后台启动,这种方式,不会再窗口上输出启动日志,如果关闭窗口程序依然正常运行。推荐

nohup java -jar my-project-server-1.0.0-SNAPSHOT.jar &

3.3、最终效果

启动后,访问

http://IP:8899/sys-user/get/all

,即可访问查询所有用户接口

在这里插入图片描述

标签: spring boot java spring

本文转载自: https://blog.csdn.net/qq_41779565/article/details/127191733
版权归原作者 微枫Micromaple 所有, 如有侵权,请联系我们删除。

“SpringBoot实现动态配置及项目打包部署上线”的评论:

还没有评论