用maven profile实现环境配置切换

前言

互联网后端服务通常会部署多个环境:开发环境、测试环境、预发布环境和生产环境。不同的环境通常有各自的环境配置,例如mysql服务器的地址、用户名密码,zookeeper的ip和端口等等。为了使打出的jar包能获取不同环境的配置,业界最常用的做法是使用maven的profile来区分不同环境。

代码示例

1. 在resources文件夹中为每个环境创建一个文件夹

└--resources└--dev└--test└--online

2. 修改pom.xml,增加如下内容

    <profiles><profile><id>dev</id><properties><env>src/main/resources/dev</env></properties><activation><activeByDefault>true</activeByDefault></activation></profile><profile><id>test</id><properties><env>src/main/resources/test</env></properties></profile><profile><id>online</id><properties><env>src/main/resources/online</env></properties></profile></profiles><build><resources><resource><directory>src/main/resources</directory><excludes><exclude>dev/**</exclude><exclude>test/**</exclude><exclude>online/**</exclude></excludes></resource><resource><directory>${env}</directory></resource></resources>        </build>

3. 打包时增加-P参数指定profile

mvn clean package -Pdev
mvn clean package -Ptest
mvn clean package -Ponline

指定的profile对应的文夹中的配置文件将被放入jar包中。在启动JVM之后这些文件会在classpath下,可以被应用程序访问。

完整代码

https://github.com/gzllol/spr...

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

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

相关文章

laravel graphql php,结合 Laravel 初步学习 GraphQL

本文字数&#xff1a;7134&#xff0c;大概需要14.27分钟。按照官网所述的&#xff1a;A query language for your API一种用于 API 的查询语言GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a…

wi-fi共享大师免广告_如何保护Wi-Fi网络免受入侵

wi-fi共享大师免广告Insecure Wi-Fi is the easiest way for people to access your home network, leech your internet, and cause you serious headaches with more malicious behavior. Read on as we show you how to secure your home Wi-Fi network. 不安全的Wi-Fi是人们…

【材质】色彩基础

RBG颜色空间 目前&#xff0c;绝大部分显示器采用的是RGB颜色标准&#xff0c;因此几乎所有软件也采用此标准&#xff0c;UE4也不例外。 R、G、B这三个字母分别代表红色&#xff08;red&#xff09;、绿色&#xff08;green&#xff09;、蓝色&#xff08;blue&#xff09;三条…

使用mintty(_如何使用Mintty改善Cygwin控制台

使用mintty(Cygwin’s great for getting some Linux command-line goodness in Windows, but using the Windows Shell to access it kills some of that magic. Using Mintty and a few other methods, you can make the experience much more luxurious. Cygwin非常适合在Wi…

18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

phpmyadmin 4.8.1 远程文件包含漏洞&#xff08;CVE-2018-12613&#xff09; phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。其index.php中存在一处文件包含逻辑&#xff0c; 通过二次编码即可绕过检查&#xff0c;造成远程文件包含漏洞。 受影响版本: phpMyAdmin 4.…

关于“Python”的核心知识点整理大全38

14.1.1 创建 Button 类 由于Pygame没有内置创建按钮的方法&#xff0c;我们创建一个Button类&#xff0c;用于创建带标签的实心矩形。 你可以在游戏中使用这些代码来创建任何按钮。下面是Button类的第一部分&#xff0c;请将这个类保存为 文件button.py&#xff1a; button.py …

同步您的Google Chrome书签,主题等

Do you regularly use Google Chrome on multiple computers? Here’s how you can keep almost everything in your browser synced easily in Google Chrome. 您是否经常在多台计算机上使用Google Chrome&#xff1f; 您可以通过以下方法在Google Chrome浏览器中轻松同步浏…

找call写call_如何将Google Call Widget添加到任何网页

找call写callAdding a Google Call Widget to your website or blog allows visitors to contact you using your Google Voice number. The widget provides an easy and cost-effective way to provide live customer support without the customer knowing your real number…

XML与web开发-01- 在页面显示和 XML DOM 解析

前言&#xff1a; 关于 xml 特点和基础知识&#xff0c;可以菜鸟教程进行学习&#xff1a;http://www.runoob.com/xml/xml-tutorial.html 本系列笔记&#xff0c;主要介绍 xml 在 web 开发时需要了解的知识 XML 在页面显示数据 XML 指可扩展标记语言&#xff08;eXtensible Mar…

酷安应用市场php源码,酷安应用市场 v11.0.3-999 去广告极限精简版

酷安&#xff0c;真实有趣的数码社区。酷安app&#xff0c;国内安卓应用市场客户端&#xff0c;应用资源丰富&#xff0c;应用开发者水准高&#xff0c;应用无首发Logo&#xff0c;原汁原味上架&#xff0c;得到了安卓用户群广泛认可。有人说现在的酷安市场(酷安网)没有以前那么…

chromebook刷机_如何将网站添加到您的Chromebook架子上

chromebook刷机Bookmarks are great to keep your favorite sites nearby, but they aren’t the fastest option out there. Instead, why not add shortcuts for your favorite websites right on the Chromebook shelf? 书签可以很好地将您喜欢的网站保留在附近&#xff0c…

Locktopus锁定iOS设备上的单个应用程序

If you want to share a cool game on your iOS device but not let everyone read your email, Locktopus offers a simple app-by-app lockdown solution. 如果您想在iOS设备上共享一个很棒的游戏&#xff0c;但又不想让所有人都阅读您的电子邮件&#xff0c;那么Locktopus提…

视频翻录_将DVD解密并复制到硬盘驱动器而无需翻录

视频翻录Have you ever wanted to make backup copies of your DVDs but didn’t want to mess with confusing DVD ripping software? Today, we’ll look at drop dead simple method to decrypt DVDs on the fly with DVD43 so you can easily copy them to your hard dri…

详解面向对象、构造函数、原型与原型链

详解面向对象、构造函数、原型与原型链 为了帮助大家能够更加直观的学习和了解面向对象&#xff0c;我会用尽量简单易懂的描述来展示面向对象的相关知识。并且也准备了一些实用的例子帮助大家更加快速的掌握面向对象的真谛。 jQuery的面向对象实现封装拖拽简易版运动框架封装这…

如何将Wii遥控器用作陀螺仪鼠标

If you have a spare Nintendo Wii remote with the Motion Plus add-on, you can use it to control your Windows PC from across the room. Here’s how to get it working in a couple of easy steps. 如果您有带Motion Plus附加组件的备用Nintendo Wii遥控器&#xff0c;则…

php 自带 web server 如何重写 rewrite .htaccess

为什么80%的码农都做不了架构师&#xff1f;>>> <?php // filename: route.php if (preg_match(/\.(?:png|jpg|jpeg|gif|css|js)$/, $_SERVER["REQUEST_URI"])) {return false; } else {include __DIR__ . /index.php; } 更好的写法&#xff1a; &l…

sci-hub谷歌插件_Google Home Hub具有隐藏屏幕设置菜单

sci-hub谷歌插件You can adjust the brightness or set an alarm on your Google Home Hub with a voice command. But if you’re trying to be quiet or there’s a lot of background noise, you can also do these things using a hidden Screen Settings menu. 您可以使用…

二叉树的前序、中序、后序遍历与创建

#include <iostream> #include <string> #include <stack> using namespace std; struct node; typedef node *pNode; struct node { char data; pNode left, right; }; string line; string::iterator it; // 前序扩展序列建立二叉树 void plan…

flex-2

1、 2、 justify&#xff1a;整理版面 3、 4、归纳 justify-content&#xff1a;flex-start&#xff08;默认&#xff09;、center、flex-end 下面还会提到剩下的两种项目在主轴上对齐方式&#xff1a; space-between:两端对齐&#xff08;项目间距离相等&#xff09; space-ar…

火狐标签在中间_在Firefox中保留未使用的标签

火狐标签在中间If you have a lot of content heavy webpages open in Firefox, it soon adds up on memory usage. The BarTab extension puts unused tabs on hold and keeps them unloaded until you are ready to access them. 如果您在Firefox中打开了大量内容繁重的网页&…