`
hjg1988
  • 浏览: 69024 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

Maven的resource插件实现类似antx的autoconfig功能

阅读更多
    公司里使用antx的autoconfig进行项目配置文件的自动配置。把项目中的配置项提取出来,通过antx或maven进行打包时对项目指定资源文件中的使用${*}表达式表达的值替换成实际值。而这些实际值,在开发环境上、测试环境以及生产环境上都是不同的,这些值一般放在用户目录下的antx.properties中,在打包过程中,autoconfig插件会去这个文件中读取并将其写入到目标文件中,打包到jar或war等包中。所以不同环境下只需要自己维护用户目录下的这个文件就可以实现项目在不同环境下的可配置性,非常实用。
    现在要在学校里做一个项目,没有autoconfig插件,想找一个替代方法。结果发现maven的resource插件的filter功能可以做到类似的功能,虽然没有autoconfig插件强大,不能使用默认值、第一次打包会自动生成类似antx.properties这样的文件,但基本用用还是可以的。
    下面是pom.xml的配置方法:
<build>
				<filters>
					<filter>${user.home}/auto-config.properties</filter>
				</filters>
				<resources>
					<resource>
						<directory>src/main/resources</directory>
						<filtering>true</filtering>
						<includes>
							<include>**/*.properties</include>
						</includes>
					</resource>
					<resource>
						<directory>src/main/resources</directory>
						<filtering>false</filtering>
						<excludes>
							<exclude>**/*.properties</exclude>
						</excludes>
					</resource>
				</resources>
			</build>

当然这里只是对资源目录下的.properties文件进行替换,实际情况下可以根据需要进行配置。更深入的用法可以参数maven的resource插件的官方文档
分享到:
评论
1 楼 hanwesley 2010-12-02  
我迁移到maven之后,在Jboss下提示找不到资源文件,连web.xml都提示找不到,不知道是为什么,纠结,不知道博主能否解答一下?多谢

相关推荐

    apache-maven的插件包:apache-maven-3.3.9-bin.zip

    Maven 的插件系统是其核心功能之一,允许开发者通过安装和配置各种插件来扩展Maven的功能。 标题中的"apache-maven-3.3.9-bin.zip"是一个包含Apache Maven 3.3.9版本的二进制发行包。这个版本发布于2015年,是Maven...

    自定义maven插件的实现

    然而,有时候Maven的内置插件无法满足特定的需求,这时就需要自定义Maven插件来扩展其功能。本篇文章将深入探讨如何实现自定义的Maven插件。 首先,了解Maven插件的基本结构至关重要。一个Maven插件通常由一组Mojo...

    eclipse-maven2插件

    8. **插件管理**:Maven2插件允许添加和配置额外的Maven插件,以扩展Maven的功能,如生成站点文档、代码覆盖率报告等。 9. **问题检测**:Eclipse插件可以检查POM.xml文件的语法错误和潜在问题,提供修正建议。 在...

    IDEA插件推荐之Maven-Helper的教程图解

    Maven-Helper 插件是 IntelliJ IDEA 中的一款功能强大且实用的插件,旨在帮助开发者更好地管理 Maven 项目的依赖关系。下面是 Maven-Helper 插件的主要知识点: 1. 依赖关系查看:Maven-Helper 插件提供了一个简洁...

    maven仓库插件

    使用稳定版的Maven仓库插件意味着你可以获得经过广泛测试、bug较少且兼容性良好的功能。这有助于确保构建过程的可靠性,避免因插件问题导致的构建失败或不一致结果。 ** 总结 ** Maven仓库插件是Maven生态系统的...

    eclipse安装maven插件需要包

    Eclipse是一款广受欢迎的Java开发集成环境,而Maven则是一个强大的项目管理和构建工具...通过配置Windows的Maven环境和在Eclipse中进行离线安装,我们可以确保开发过程中对Maven的正常使用,实现项目的高效管理和构建。

    IDEA Maven Helper插件

    **IDEA Maven Helper插件详解** IDEA Maven Helper是一款针对IntelliJ IDEA(简称IDEA)开发的强大插件,它极大地简化了Maven项目的工作流程,帮助开发者更好地理解和管理Maven依赖关系。这款插件源自于对高效开发...

    eclipse的maven离线插件

    Eclipse的Maven离线插件是开发人员在没有网络或者网络不稳定时,进行Maven项目构建和管理的重要工具。Maven是一个强大的项目管理和构建工具,广泛用于Java项目,它通过POM(Project Object Model)文件来管理项目的...

    maven3插件

    Maven3 插件是 Maven 构建工具中的一个重要组成部分,它极大地扩展了 Maven 的功能,使得开发者能够自动化处理各种特定的构建任务。Maven 是一个Java项目管理工具,它通过使用一套标准化的构建过程和依赖管理,使得...

    Eclipse MAVEN离线插件

    Eclipse MAVEN离线插件是为开发人员提供的一种便捷方式,使得在没有网络连接或者网络环境不稳定的情况下,也能在Eclipse集成开发环境中使用Maven功能。Maven是一个强大的项目管理和构建工具,广泛用于Java应用的开发...

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

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

    maven 自定义插件小示例

    本文将深入探讨“Maven自定义插件小示例”,以帮助开发者更好地理解和利用Maven的强大功能。 Maven插件是Maven生态系统中的一个重要组成部分,它们提供了各种各样的功能,如编译、测试、打包、部署等。有时,标准...

    eclipse-maven插件

    M2Eclipse(Maven Integration for Eclipse)是Eclipse中的一个插件,它允许开发者直接在Eclipse环境中使用Maven的功能。这对于那些习惯于Eclipse工作流的开发者来说,是一个极大的便利,因为无需离开IDE就可以完成...

    Myeclipse maven插件下载

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

    autoconfig-maven-plugin-1.1-sources.jar

    官方版本,亲测可用

    jenkins 2.346.1 git maven ssh插件

    jenkins 2.346.1,jdk8 适用 git maven ssh插件

    Eclipse的Maven2插件.zip

    官网公布的 Eclipse 的 Maven2 插件,本插件版本是:m2e-0.12.0.20101115-1102,大小 11 MB。 关于安装 Maven2 插件到 Eclipse 的详细步骤,请参考博客《集成 Maven 2 插件到 eclipse 的过程》,博客地址:...

    maven eclipse 插件下载

    总的来说,Eclipse通过Maven插件实现了与Maven的深度集成,为Java开发者提供了一个高效且统一的开发环境,极大地提高了开发和团队协作的效率。正确地安装和配置m2e插件,可以帮助我们更好地管理和维护Maven项目。

    maven resource

    此外,还可以通过配置Maven插件来定制资源文件的处理方式,比如使用`maven-resources-plugin`插件来过滤资源文件中的占位符,实现动态替换等功能。 #### 四、Maven生命周期与构建 - **构建生命周期**:Maven有三个...

Global site tag (gtag.js) - Google Analytics