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

大家好,我是宝哥!

一、动态配置文件

1fdc8988544390954f41c04f00cd56cd.png

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

1.1、概述

在实际企业开发中,开发环境、测试环境、生产环境通常采用不同的数据库等中间件的连接方式。如果此时我们按照目前的方式,只有一个application.yml配置文件,那么我们在不同环境下启动项目,都需要更改配置文件中的各种连接信息,虽然目前我们需要更改的连接地址少,但是每次去手动的更改这些信息,人工改的话是非常容易改错的。

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

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

8a477778962ddb1c52dedf6785a60032.png

我们要做的是,在启动的时候指定。我们需要复制配置文件application.ymlapplication-druid.yml,命名为application-prod.ymlapplication-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启动配置
  • 在 IDEA 中配置profiles是非常简单的。

  • 点击 IDEA 上方菜单Run

  • 选择Edit Configurations...

  • 选择Spring Boot下的 MyProjectServerApplication

  • 找到Active profiles输入框,输入需要指定的配置文件后缀。例如:prod,druid-prod

  • 点击OK即可。

如下图:

6196b3c0f3844a2ba6fdb2422ffa4b74.png

2d2ee111ed91fe94bbd83371724039ad.png

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

二、项目打包

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

项目结构如下:

a77fc7a5eb6aefab997c33a0fc1530be.png

本次构建的项目服务模块my-project-server依赖my-project-dependenciesmy-project-common。所以需要先把这两个模块install安装到本地,以便my-project-server打包的时候,可以依赖到这两个模块。

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

2.1、IDEA打包

IDEA 打包方法:

  • 点击右侧Maven菜单

  • 双击打开要操作的模块

  • 点击Lifecyle

  • 双击需要进行的操作。例如:clean、install、package

如下图:

5894de1ec0af2ceb38eb4afbece371ec.png

步骤:

  • install安装my-project-dependencies

  • install安装my-project-common

  • package打包my-project-server

2.2、Maven命令打包

步骤还是跟上个方式的步骤一致,不一样的是使用Maven命令,这里借助bat的方式,一次完成。

在模块同济目录下创建一个bin目录后,创建批处理文件package.bat。代码如下:

cd ..
cd my-project-dependencies
call mvn install

cd ..
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包,这个就是我们最终运行的程序了。如图所示:

be417444ba9ed0b6912aa5bac8a5a775.png

3.1、安装环境

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

1)、下载

下载地址:

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

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

6ae3ba4f2c535e18b22b89f2e45bd10c.png

2)、创建目录
mkdir -p /usr/local/java
3)、上传文件至该目录

05bedcbaa0b8cd73fc31a75642cc8044.png

$ ls -al
total 144704
drwxr-xr-x  2 root root      4096 Oct  5 15:19 ./
drwxr-xr-x 14 root root      4096 Oct  5 15:18 ../
-rw-r--r--  1 root root 148162542 Oct  5 15:19 jdk-8u341-linux-x64.tar.gz
4)、解压缩
tar -zxvf jdk-8u341-linux-x64.tar.gz
5)、配置系统变量
vim /etc/environment

添加如下语句

export JAVA_HOME=/usr/local/java/jdk1.8.0_341
export JRE_HOME=/usr/local/java/jdk1.8.0_341/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
6)、配置用户环境变量
vim /etc/profile

添加如下语句

export JAVA_HOME=/usr/local/java/jdk1.8.0_341
export JRE_HOME=/usr/local/java/jdk1.8.0_341/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$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包上传至该目录

732690b569eb43723c30b636f6aad5ce.png

启动项目有多种方式

前台启动一,这种方式启动,会在窗口上输出启动日志,如果关闭窗口或者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,即可访问查询所有用户接口

0fabc75da22472ab8c55598da5798bf7.png

来源:blog.csdn.net/qq_41779565/article/

details/127191733

 
 
 
 
往期推荐:
SpringBoot 调用外部接口的三种方式

11.8K Star 数!超美观强的Nginx 可视化管理界面

Spring Boot 操作 Redis 的各种实现

牛逼的监控系统,不接受反驳!!

抖音二面:“聊聊二维码扫码登录的原理”

SpringBoot + Druid,完美监控MySQL性能

写了一个代码工具,CRUD开发效率直接提升100倍!

大型SaaS系统的数据范围权限设计与现实

d263934bcef6bf93d83a7b0623d83a2a.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将vue与springboot分离开发的项目打包上线可以分为以下几个步骤: 1. 打包vue项目:在vue项目根目录下,使用命令行运行`npm run build`,该命令会在项目根目录下生成一个dist目录,里面包含了打包后的静态文件。 2. 拷贝vue打包文件:将打包生成的dist目录中的所有文件拷贝到springboot项目的静态资源目录下,一般是springboot项目的resources/static目录。 3. 在springboot中启动vue静态资源:在springboot项目的Controller中新增一个RequestMapping,使其映射到vue的首页。例如,可以在HomeController中添加如下代码: ``` @Controller public class HomeController { @RequestMapping(value = {"/", "/index"}) public String index() { return "index.html"; } } ``` 这样访问项目的根路径或/index路径时,就会自动访问vue的首页。 4. 打包springboot项目:使用springboot内置的打包功能将整个项目打包成一个可执行的jar文件。可以使用如下命令进行打包: ``` mvn clean package ``` 打包完成后,在项目的target目录下会生成一个以.jar结尾的可执行文件。 5. 部署上线:将打包生成的jar文件上传到部署服务器上,并安装Java运行环境。然后使用命令行运行以下命令启动springboot项目: ``` java -jar yourjarfilename.jar ``` 项目就会在服务器上运行起来,可以通过访问服务器IP地址+配置的端口号来访问项目了。 通过以上步骤,就可以将vue与springboot分离开发的项目打包上线。将vue的静态资源打包springboot项目中,并在springboot中启动静态资源。然后使用springboot内置的打包功能将整个项目打包成一个可执行的jar文件,最终将jar文件部署到服务器上运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值