maven profiles多环境参数切换打包

maven profiles多环境参数切换打包

  • 1、profiles解决的问题
  • 2、项目结构
  • 3、POM文件
  • 4、运行测试
    • 1、 打包方式一
    • 2、命令打包方式

1、profiles解决的问题

一般项目开发中,测试环境,开发环境,生产环境的参数都有所不同,甚至还有的系统会有演示环境,所以我们要根据不同环境下进行灵活地项目打包,profiles很好的解决了多环境参数切换的问题。

2、项目结构

依数据库配置为例,在不同配置文件里面有dev、test、prod三种不同的数据库参数配置
maven profiles多环境参数切换打包_第1张图片开发环境链接的数据库是ssm,里面的empname是张三maven profiles多环境参数切换打包_第2张图片开发环境链接的数据库是ssm1,里面的empname是李四maven profiles多环境参数切换打包_第3张图片测试环境连接的是ssm2,里面的emp那么是王五

3、POM文件

pom 文件要配置和上面对应的dev、test、prod三个环境对应的三个节点,activeByDefault为true则说明是默认激活的节点

 <profiles>
        <profile>
            
            <id>devid>
            <properties>
                <environment>devenvironment>
            properties>
            <activation>
                <activeByDefault>trueactiveByDefault>
            activation>
        profile>
        <profile>
            
            <id>testid>
            <properties>
                <environment>testenvironment>
            properties>
        profile>
        <profile>
            
            <id>prodid>
            <properties>
                <environment>prodenvironment>
            properties>
        profile>
    profiles>

拦截器的作用 filtering 为了在application.xml配置文件中进行动态的获取不同环境的对应的environment的名字${environment}

    <resources>
            <resource>
                <directory>src/main/javadirectory>
                <includes>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>falsefiltering>
            resource>
            <resource>
                <directory>src/main/resourcesdirectory>
                <excludes>
                    <exclude>dev/**exclude>
                    <exclude>test/**exclude>
                    <exclude>prod/**exclude>
                excludes>
                <filtering>truefiltering>
            resource>
            <resource>
            
                <directory>src/main/resources/${environment}directory>
                <targetPath>${environment}targetPath>
            resource>
        resources>

    <context:property-placeholder  location="classpath:${environment}/dbconfig.properties"/>
    <bean id="PooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="jdbcUrl" value="${jdbc.jdbcUrl}">property>
        <property name="driverClass" value="${jdbc.driverClass}">property>
        <property name="user" value="${jdbc.user}">property>
        <property name="password" value="${jdbc.password}">property>
    bean>

4、运行测试

1、 打包方式一

maven profiles多环境参数切换打包_第4张图片通过勾选不同环境的profiles进行,clean package

2、命令打包方式

mvn clean package -Pdev
mvn clean package -Ptest
mvn clean package -Pprod

潦潦此案,欢迎指正补充!

你可能感兴趣的:(maven profiles多环境参数切换打包)