自动化配置工具antx-autoconfig
来源:互联网 发布:童装淘宝店好做吗 编辑:程序博客网 时间:2024/05/22 06:31
前言
1、配置参数原始做法是配置一个文件,在不同环境间手动修改,这种做法容易出错,且随着环境增多配置文件线性增长。
2、第二种通过maven提供的profile机制,但是这样会在配置中将数据库、redis等用户名密码暴露出去,如果项目要托管在git上就危险了3、最近接触的一种是阿里提供的maven插件,现已开源,通过它可以实现不同环境使用不同配置进行打包,这样就安全的多。
最新版本是1.2
<dependency> <groupId>com.alibaba.citrus.tool</groupId> <artifactId>antx-autoconfig</artifactId> <version>1.2</version></dependency>
使用方法
使用auto-config,需要按照一定的格式来写,配置文件结构如下图auto-config.xml文件的配置如下:
<?xml version="1.0" encoding="UTF-8"?><config> <group name="test-core"> <property name="test_db_host" /> <property name="test_db_port" /> <property name="test_db_database" /> <property name="test_db_username" /> <property name="test_db_password" /> <property name="test_db_maxActive" /> <property name="test_db_initialSize" /> <property name="test_db_minIdle" /> <property name="test_thread_corePoolSize"/> <property name="test_thread_maxPoolSize"/> <property name="test_thread_queueCapacity"/> </group> <script> <generate template="core.properties.vm" destfile="config/core.properties" charset="UTF-8"/> <generate template="jdbc.properties.vm" destfile="config/jdbc.properties" charset="UTF-8"/> </script></config>core.properties.vm文件内容如下:
test.thread.corePoolSize = ${test_thread_corePoolSize}test.thread.maxPoolSize = ${test_thread_maxPoolSize}test.thread.queueCapacity = ${test_thread_queueCapacity}jdbc.properties.vm文件的内容如下:
test.jdbc.driver = com.mysql.jdbc.Drivertest.jdbc.url = jdbc:mysql://${test_db_host}:${test_db_port}/${test_db_database}?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNulltest.jdbc.username = ${test_db_username}test.jdbc.password = ${test_db_password}test.jdbc.maxActive = ${test_db_maxActive}test.jdbc.initialSize = ${test_db_initialSize}test.jdbc.minIdle = ${test_db_minIdle}上面的script脚本配置,是将根据core.properties.vm模板的内容生成目标文件,模板里的${test_thread_corePoolSize}一定要与auto-config.xml中property的name对应。
以下是插件的引入,先在父包引入插件
<pluginManagement> <plugins> <plugin> <groupId>com.alibaba.citrus.tool</groupId> <artifactId>autoconfig-maven-plugin</artifactId> <version>${autoconfig-plugin.version}</version> </plugin> </plugins></pluginManagement>
配置profile
<profiles> <profile> <id>dev</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <antx_properties>${project.basedir}/../deploy/antx/dev.properties</antx_properties> </properties> </profile></profiles>
然后是在子模块的pom.xml引入
<build> <plugins> <!-- autoconfig --> <plugin> <groupId>com.alibaba.citrus.tool</groupId> <artifactId>autoconfig-maven-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>autoconfig</goal> </goals> </execution> </executions> <configuration> <exploding>true</exploding> <userProperties>${antx_properties}</userProperties> </configuration> </plugin> </plugins></build>
到此配置就完成了,基于profile的antx_properties配置,我们可以随意指定参数的配置文件,注意点是auto-config.xml的属性名要与dev.properties对应。
可以在Idea里保存配置mvn package -P dev,打包时就会自动生成core.properties和jdbc.properties文件,config文件夹要手动创建好。
linux环境如果要修改war包的配置,通过以下命令:
mvn autoconf:autoconf -Dproperties=/home/admin/testDemo/test/antx.properties -Dpath=testDemo.war/
阅读全文
0 0
- 自动化配置工具antx-autoconfig
- autoconfig配置工具使用
- AutoConfig工具使用指南
- autoconfig.xml与antx.properties一级application.properties之间的关系
- autoconfig.xml与antx.properties一级application.properties之间的关系(转载)
- autoconfig.xml与antx.properties一级application.properties之间的关系(转载)
- Autoconfig/Automake工具使用实例
- AutoConfig工具使用指南(转)
- autoconfig
- AutoConfig
- autoconfig
- autoConfig
- 配置自动化构建工具Gulp
- Selenium自动化测试工具配置
- maven 插件之 AutoConfig 工具使用笔记
- 第 13 章 AutoConfig工具使用指南(转载)
- Linux下自动化部署和配置工具
- Linux自动化部署及配置工具
- Leetcode 392.Is Subsequence(第十一周作业)
- VB与数据库学习项目总结
- 考试报名管理系统课程设计
- python Django rest framework
- WCF Rest API书写(正确Post书写、PostMan请求测试、Ajax请求测试)
- 自动化配置工具antx-autoconfig
- Error:This Gradle plugin requires Studio 3.0 minimum
- Hdoj 1262 寻找素数对
- leetcode 557. Reverse Words in a String III
- 代码实现px与dp的单位换算
- 常用图像特征的总结--HARR,HOG,LBP,SIFT,SURF
- 数据结构课程设计代码-家谱管理系统
- IDEA搭建servlet服务器与android客户端通信(二)
- 请编程设计一个登陆界面,要求输入账号和密码(不考虑事件)