SpringBoot使用 maven autoConfig插件打jar包(一)

本文详细介绍了SpringBoot项目中如何使用maven的autoConfig插件进行jar包打包,包括配置文件的组织结构、auto-config.xml的设置、application.properties.vm模板文件的编写,以及打包命令的使用。通过autoConfig,可以动态选择不同环境的配置文件,确保项目在不同环境中正确运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AutoConfig介绍

    AutoConfig,主要用于 Maven 项目打包使用。在项目中,我们会将自己写的代码打成 jar 包或者 war 包发布到各种环境上。正常情况下,不用的环境所使用的数据库、缓存的配置是不同的。因此引入了autoConfig插件,在项目打包的时候的动态选择打包配置文件,同时由于相关配置文件非git/svn版本管理,避免了误操作修改了配置value导致错误的风险。

对autoConfig不了解的同学,可以先看一下这里

由于springboot默认是jar包运行,所以本文中autoConfig打包以jar报的目录结构进行配置

JAR包的源文件和目标文件目录结构

jar-project(源目录结构)               -> jar-project.jar(目标目录结构)
 │  pom.xml
 │
 └─src
     └─main
         ├─java
         └─resources                    -> /
             │  file1.xml                      file1.xml
             │  file2.xml                      file2.xml
             │
             └─META-INF                 -> /META-INF
                 └─autoconf             -> /META-INF/autoconf auto-config.xml         auto-config.xml 

142942_MRE4_2248830.png

/META-INF/autoconf目录用来存放AutoConfig的描述文件,以及可选的模板文件。

142942_MXGT_2248830.png

auto-config.xml是用来指导AutoConfig行为的关键描述文件。

创建jar包的AutoConfig机制,关键在于创建jar目标文件中的/META-INF/autoconf/auto-config.xml描述文件。该描述文件对应的maven项目源文件为:/src/main/resources/META-INF/autoconf/auto-config.xml

 

操作步骤:

    1.pom.xml添加autoConfig相关插件

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <!-- 打出的jar包中的 MANIFEST.MF 文件中增加 Main-Class 这一项配置,这样就能在命令行中通过 java -jar 来执行打出的jar包 -->
                        <manifestEntries>
                            <Main-Class>com.xxx.app.pss.WebApplication</Main-Class>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>

            <plugin>
                <groupId>com.alibaba.citrus.tool</groupId>
                <artifactId>autoconfig-maven-plugin</artifactId>
                <version>1.2</version>
                <configuration>

                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>autoconfig</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    2.在resoures下建立META-INF文件夹(如果不存在)

    3.在META-INF文件夹下建立autoconf文件夹,用于存放autoConfig相关配置xml以及配置vm模板

    4.在上一步建立的autoConfig下建立auto-config.xml文件

    文件夹目录如下所示:

    170114_zvKP_2248830.png

    5.auto-config.xml内容如下:

<?xml versi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值