springboot项目打包

使用IDEA创建的springboot项目时,Maven的pom.xml文件中默认会带着相应的打包插件,所以在项目运行测试完毕,确认无误后可以直接执行maven插件的打包命令来进行打包。、

默认会在target目录下生成当前项目的jar包,可以直接使用java -jar 包名 来运行打包后的项目。

使用 mvn package -DskipTests 命令打包,可以跳过测试阶段

maven配置多环境打包

设置不同的环境

<!--分别设置开发,生产环境-->
<profiles>
    <!-- 开发环境 -->
    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <environment>dev</environment>
        </properties>
    </profile>
    <!-- 生产环境 -->
    <profile>
        <id>prod</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <properties>
            <environment>prod</environment>
        </properties>
    </profile>
</profiles>

先排除所有的配置文件,再添加当前环境需要的配置文件

<resources>
<!--排除配置文件-->
    <resource>
        <directory>src/main/resources</directory>
        <!--先排除所有的配置文件-->
        <excludes>
            <!--使用通配符,当然可以定义多个exclude标签进行排除-->
            <exclude>application*.yml</exclude>
        </excludes>
    </resource>

    <!--根据激活条件引入打包所需的配置和文件-->
    <resource>
        <directory>src/main/resources</directory>
        <!--引入所需环境的配置文件-->
        <filtering>true</filtering>
        <includes>
            <include>application.yml</include>
            <!--根据maven选择环境导入配置文件-->
            <include>application-${environment}.yml</include>
        </includes>
    </resource>
</resources>

设置主配置文件,通过maven在构建时导入相应环境的值,Maven会将自身的environment属性,传递给SpringBoot的配置文件,在构建时替换为对应的值:

spring:
  profiles:
    active: '@environment@'  #注意YAML配置文件需要加单引号,否则会报错

根据我们Maven环境的切换,SpringBoot的配置文件也会进行对应的切换。

最后就可以通过maven的侧边栏直接切换所需要的环境了,注意切换环境后要重新刷新加载一下maven项目,不然会不生效。

Maven多模块打包

多模块项目将多个模块打进一个Jar包中

引入概念

在Maven中有依赖传递机制,也就是 A 依赖 B ,B 依赖 C ,则 A 亦依赖 C 。