Maven在不同的环境获取不同配置文件的方法

 更新时间:2023年10月02日 08:22:43   作者:StoneWu - 石头日记  
这篇文章主要介绍了Maven在不同的环境获取不同配置文件的方法,需要的朋友可以参考下

最近准备把正在开发的项目给分为两个环境来部署,使用jenkins进行自动构建。

把maven部署多环境相关的资料看了下,都比较难理解,于是自己摸索,找到一个比较好的办法。

首先在 src/main/resource 下建两个文件夹,具体几个看你的环境有几个,我这里是分了两个,dev和product,开发环境和正式环境。

然后将配置文件分别放入两个目录中,然后把两个环境中的配置配好

接下来编辑项目的pom文件

进行如下配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
		http://maven.apache.org/xsd/maven-4.0.0.xsd">
     ......
     ......
    <profiles>
    <!-- 开发环境 -->
        <profile>
            <id>dev</id>
            <properties>
                <env>dev</env>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!-- 正式环境 -->
        <profile>
            <id>product</id>
            <properties>
                <env>product</env>
            </properties>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
        </profile>
    </profiles>
     ......
     ......
</project>

中间的properties是用来作为变量能在下文中取到的

然后在build节点中进行如下配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
		http://maven.apache.org/xsd/maven-4.0.0.xsd">
......
......
<build>
    ......
    ......
    <resources>
        <!-- 此处是因为我的java目录中有一些xml文件,
        如果你的项目中的java目录下没有xml文件则可以不用配 -->
	<resource>
		<directory>src/main/java</directory>
		<includes>
			<include>**/*.properties</include>
			<include>**/*.xml</include>
		</includes>
		<!-- 是否替换资源中的属性 -->
		<filtering>false</filtering>
	</resource>
	<!-- 此处的用法就是${env}会替换成你的上面选择的具体环境 -->
	<resource>
		<directory>src/main/resources/${env}</directory>
		<!-- 是否替换资源中的属性 -->
		<filtering>true</filtering>
	</resource>
    </resources>
    ......
    ......
</build>
     ......
     ......
</project>

最后使用maven命令进行编译打包

mvn clean package -Pproduct

-P为指定某个profile,后面跟上具体的profile就行了,比如上面就指定的是product的profile,如果不加,则默认是dev的profile,可以倒回上面的配置看。

接下来就会根据你的命令进行编译打包啦~

到此这篇关于Maven在不同的环境获取不同配置文件的方法的文章就介绍到这了,更多相关Maven在不同的环境获取不同配置文件的方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaWeb 文件的上传和下载功能简单实现代码

    JavaWeb 文件的上传和下载功能简单实现代码

    这篇文章主要介绍了JavaWeb 文件的上传和下载功能简单实现代码,需要的朋友可以参考下
    2017-04-04
  • Mybatis Generator具体使用小技巧

    Mybatis Generator具体使用小技巧

    本文主要介绍了Mybatis Generator具体使用小技巧,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Java 生成透明图片的设置实现demo

    Java 生成透明图片的设置实现demo

    这篇文章主要为大家介绍了Java 生成透明图片的设置实现demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 大厂面试常考:快速排序冒泡排序算法

    大厂面试常考:快速排序冒泡排序算法

    快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像BAT、字节、美团等知名IT公司都喜欢考查快速排序原理和手写源码
    2021-08-08
  • 关于Shiro过滤器配置方式(ShiroFilterFactoryBean)

    关于Shiro过滤器配置方式(ShiroFilterFactoryBean)

    这篇文章主要介绍了关于Shiro过滤器配置方式(ShiroFilterFactoryBean),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 什么是RESTful API,有什么作用

    什么是RESTful API,有什么作用

    提到RESTful API大家势必或多或少听说过,但是什么是RESTful API ?如何理解RESTful API 呢?今天咱们就来聊聊这个RESTful API
    2023-11-11
  • Java集合总结

    Java集合总结

    今天小编就为大家分享一篇关于Java集合总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Jmeter环境搭建及安装步骤

    Jmeter环境搭建及安装步骤

    Jmeter是纯Java开发的,能够运行Java程序的系统一般都可以运行Jmeter,本文以windows下安装步骤为例分步骤给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2021-12-12
  • 讲解Java设计模式编程中的建造者模式与原型模式

    讲解Java设计模式编程中的建造者模式与原型模式

    这篇文章主要介绍了Java设计模式编程中的建造者模式与原型模式,设计模式有利于团队开发过程中的代码维护,需要的朋友可以参考下
    2016-02-02
  • Java深入学习图形用户界面GUI之创建窗体

    Java深入学习图形用户界面GUI之创建窗体

    图形编程中,窗口是一个重要的概念,窗口其实是一个矩形框,应用程序可以使用其从而达到输出结果和接受用户输入的效果,学习了GUI就让我们用它来创建一个窗体
    2022-05-05

最新评论