`

Maven插件实现的autoconfig机制

阅读更多

autoconfig这种机制在软件开发和发布的过程中是非常方便也是非常必要的一种动态替换配置信息的一种手段,一种很贴切的比喻:这个就像在windows下面安装一个软件时,我们按照安装向导给我们弹出提示填写信息一样(这些信息就是一些定制化的信息)。

 

Maven的强大插件机制,可以和autoconfig机制结合起来,发挥巨大的威力。

 

实际项目中,基本都是在deploy下面实现配置文件的读取和替换的。这里,其实就是利用了一个maven-autoconf-plugin插件实现的这个功能。具体deploy下面pom.xml的配置片段如下:

 

 

	<profiles>
		<!-- Dev profile will configure all files and copy them to target/dev, for testing purpose -->
		<profile>
			<id>dev</id>
			<activation>
				<property>
					<name>env</name>
					<value>!release</value>
				</property>
			</activation>
			<build>
				<plugins>
					<!-- do auto config for integration test -->
					<plugin>
						<groupId>com.alibaba.maven.plugins</groupId>
						<artifactId>maven-autoconf-plugin</artifactId>
						<version>0.3-alpha-9</version>
						<executions>
							<execution>
								<phase>pre-integration-test</phase>
								<goals>
									<goal>config</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<destFiles>
								<destFile>${project.basedir}</destFile>
							</destFiles>
							<includeDescriptorPatterns>
								<!-- intl-site flavor -->
								<includeDescriptorPattern>autoconf/auto-config.xml</includeDescriptorPattern>
								<!-- china-site flavor -->
								<includeDescriptorPattern>conf/META-INF/autoconf/auto-config.xml</includeDescriptorPattern>
							</includeDescriptorPatterns>
                            <includePackagePatterns>
                                <includePackagePattern>**/*.war</includePackagePattern>
                            </includePackagePatterns>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

 

这里,又一次应用了COC的思想,插件会去扫描autoconf/auto-config.xml或者conf/META-INF/autoconf/auto-config.xml。

 

目前这个插件还比较鸡肋,不过基本功能都是有的,详细的介绍,可以直接参考他的官方介绍:http://repo.alibaba-inc.com/mvn/internal/snapshots/sites/maven-autoconf-plugin/config-mojo.html

常用的几个属性列举如下:

 

  • includeDescriptorPatterns:autoconfig所要扫描的描述文件的匹配路径。
  • userProp:指定用户实际使用配置信息的配置文件的路径,如:-DuserProp=/home/abc/properties.txt
分享到:
评论
1 楼 azheng270 2011-09-10  
   不开源

相关推荐

    自定义maven插件的实现

    在Java开发领域,Maven是广泛使用的项目管理工具,它帮助开发者构建、依赖管理和项目...开发者需要理解Maven的生命周期和插件机制,才能灵活地设计和实现自定义插件。同时,良好的文档和测试也是确保插件质量的关键。

    eclipse离线安装maven插件(m2e),maven插件离线安装包

    现在eclipse的社区版都不内置maven插件了,站点在线安装实在是太痛苦了(我装了6个小时),于是急于寻找一种离线安装的办法,可是在网上又找不到对应的m2e包(我用的eclipse4.7),于是我决定将站点下的文件(很多)...

    eclipse安装maven插件需要包

    然而,在某些网络环境不佳的情况下,Eclipse可能无法通过内置的更新机制在线安装Maven插件。本文将详细介绍如何在Eclipse中离线安装Maven插件,以及如何配置Windows环境来确保Maven的正常工作。 首先,我们需要在...

    eclipse的maven插件

    在Eclipse中使用Maven插件,可以实现以下功能: 1. **创建Maven项目**:通过“File” -&gt; “New” -&gt; “Project” -&gt; “Maven Project”菜单,可以快速创建符合Maven标准目录结构的新项目。用户可以选择不同的...

    Myeclipse maven插件下载

    - Maven插件:Maven拥有丰富的插件库,可以扩展其功能,如`maven-jar-plugin`用于打包jar,`maven-war-plugin`用于打包war等。 - 集成持续集成工具:如Jenkins、Hudson等,可以与Maven完美结合,实现自动化构建和...

    jenkins 离线安装maven插件集合jenkins-maven.zip

    通过解压并放置插件文件,然后重启Jenkins服务,我们可以让Jenkins具备对Maven项目的支持,从而实现更高效的自动化构建和部署流程。理解并掌握这个过程对于提升Jenkins在企业内部的使用效率和灵活性至关重要。

    eclipse安装的maven插件

    然而,早期版本的Eclipse并未内置Maven支持,因此需要用户自行安装Maven插件来实现对Maven项目的集成管理。本教程将详细介绍如何在低版本的Eclipse中安装和配置Maven插件。 首先,我们需要了解为何要在Eclipse中...

    eclipse离线安装maven插件详解(内附maven插件包)

    本篇文章将详细解析如何在Eclipse中离线安装Maven插件,同时提供内附的Maven插件包,以解决在线安装过程中的速度问题和可能遇到的错误。 首先,我们需要准备的是Maven的安装。Maven是Apache开源的一个项目管理工具...

    Myeclipse6.5的Maven插件

    **MyEclipse 6.5 Maven插件详解** 在软件开发过程中,MyEclipse作为一款强大的Java集成开发环境,提供了对多种技术的支持,包括但不限于Java、JSP、Servlet、Struts、Spring等。而在Java企业级开发中,Maven作为...

    (快嘉代码生成Maven插件) 基于maven插件实现

    同时,通过学习插件的实现,也可以为其他类似的任务开发自定义的Maven插件,提升工作效率。 总之,快嘉代码生成Maven插件是提升开发和测试效率的有效工具,它结合了Maven的强大构建能力与TestNG的优秀测试框架,...

    安装Jenkins的git和maven插件

    本文将详细讲解如何在Jenkins中安装Git和Maven插件,以便实现版本控制与构建管理。 首先,让我们了解Jenkins插件的作用。Jenkins通过插件扩展其功能,提供对各种工具和技术的支持。Git插件允许Jenkins与Git仓库进行...

    eclipse-maven插件

    在Eclipse中集成Maven插件,可以使得开发者在IDE内就能方便地进行Maven相关的操作,如编译、测试、打包等。本篇文章将详细介绍如何在Eclipse中离线安装Maven插件,并配置自定义的本地仓库路径。 首先,我们需要了解...

    eclipse安装maven插件

    9. **使用Maven命令**:在Eclipse的Package Explorer视图中,右键点击Maven项目,选择“Run As” -&gt; “Maven Build...”,你可以在这里运行Maven的clean、install、test等目标,实现项目的构建和测试。 10. **...

    apache-maven插件

    "apache-maven插件"提及的是Maven中的插件机制。Maven插件是实现特定构建任务的可插拔组件,如编译代码(maven-compiler-plugin)、打包应用(maven-jar-plugin)或运行单元测试(maven-surefire-plugin)。开发者...

    maven插件压缩包

    ** Maven 插件压缩包详解 ** Maven 是一个强大的项目管理工具,广泛应用于Java开发领域,它通过一套规范化的构建过程,使得项目的构建、依赖管理和部署变得更加简单。Maven 插件是 Maven 生态系统的重要组成部分,...

    jenkins 必装maven插件

    1. **使用Maven的Hpi插件**:开发者可以利用Maven的Hpi插件生成Jenkins插件,实现自定义功能。 2. **蓝绿部署**:Jenkins可以配合Maven实现蓝绿部署策略,通过构建不同环境的版本并切换生产环境,确保服务的高可用...

Global site tag (gtag.js) - Google Analytics