springboot-mavn配置动态环境

2023-05-16,,

初识springboot
目录结构体如下

    application.properties文件内容
         spring.profiles.active=@profiles.active@
    application-dev.properties文件内容
         server.port=8001
     application-prod.properties文件内容
         server.port=8003

    以上配置是为了看不同环境下配置不一样

<!--  态环境配置  -->
<profiles>
    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <profiles.active>dev</profiles.active>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <profiles.active>prod</profiles.active>
        </properties>
    </profile>
</profiles>

<!--  build 是用于打包时 -->
<build>
    <finalName>mybatis</finalName>
    <!--  此处resources作为全局的静态配置文件 此位置不能随便移动 -->
    <resources>
        <!-- 先指定 src/main/resources下所有文件及文件夹为资源文件 -->
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*</include>
            </includes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>*.xml</include>
                <include>*.properties</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>

    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
                <execution>
                    <id>default-resources</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>target/classes</outputDirectory>
                        <useDefaultDelimiters>false</useDefaultDelimiters>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <!-- 单元测试的文件排除 相当于在打包时的 -Dmaven.test.skip=true  -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <skip>true</skip>
                <includes>
                    <include>**/Test*.java</include>
                </includes>
                <testFailureIgnore>true</testFailureIgnore>
            </configuration>
        </plugin>
        <plugin>
            <!--绑定到特定的声明周期之后,运行maven-source-pluin 运行目标为jar- -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>jar-no-fork</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

1.标记说遇到的坑  
    当只是配置了profiles时是不起作用的,只有增加了对应的resources标签启动打包才有作用。

《springboot-mavn配置动态环境.doc》

下载本文的Word格式文档,以方便收藏与打印。