`
bruce008
  • 浏览: 174329 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

自定义ant task 验证POM文件版本依赖

    博客分类:
  • J2EE
阅读更多

经常在项目里要涉及到N个Maven 项目之间有依赖, 常见的是 EAR, WEB 依赖Service; Service 依赖Persistence; Persistence 依赖 DOMAIN 项目。 项目要求只要代码修改,Snapshot 版本就需要升高, 但是经常开发人员会遗忘在相应的依赖工程中的POM 文件的修改。  

采用ant 的原因是因为另外一个同事写了 ant build 脚本 自动将N个项目打包, scp 到Websphere server 相应的自动部署文件夹里。  所以就想到在ant build 脚本  checkout 了这N个项目的代码之后 先做个校验。 

 

写ant 脚本的机会比较多 但是扩展 ant task 的机会 还真不多。从头开始:

 

1,  在项目中 加入 ant 的 dependency;

 

2,    extends  Task。  然后override  execute 方法;

 

3,  如果不成功, 抛出new BuildException (String  exceptionMessage) 异常即可 ;

 

 

4,   将这个 类 打成一个 jar 扔到  $ANT_PATH/lib 下面。

 

5, 在buildd.xml 中 通过  taskdef 来定义 task。比如:

 

<taskdef name="pomDependencyVerifier" classname="POMDependencyVerifier" />

 

 

6,  使用 :

     <target name="pomDependencyVerify">

		<pomDependencyVerifier>
			<fileset dir="${wksp}">
				<include name="**/pom.xml" />
			</fileset>
		</pomDependencyVerifier>
	</target>
 

 

最后 附上这个  POMDependencyVerifier 类 的 代码 。

 

分享到:
评论

相关推荐

    Ant 1.9.2

    - **自定义任务**:开发者可以通过实现Ant Task接口创建自定义任务,扩展Ant的功能。 - **第三方任务库**:如Ant-Contrib库提供了许多额外的任务,如循环、决策等。 8. **最佳实践** - **保持构建文件清晰**:...

    apache-ant-1.9.9-bin.tar.gz 【适用于linux系统】

    例如,元素是整个构建的容器,定义了具体的构建任务,&lt;task&gt;则引用了Ant提供的或自定义的任务。 3. **Ant的基本任务**: - `&lt;javac&gt;`:编译Java源代码。 - `&lt;jar&gt;`:打包编译后的类文件为JAR文件。 - `&lt;copy&gt;`:...

    ant 发送Email

    总结起来,Ant发送Email涉及的关键知识点有:Ant任务定义、JavaMail API的使用、SMTP服务器配置以及自定义Ant任务的创建。通过这些步骤,你可以利用Ant这个强大的工具来自动化你的邮件发送流程,尤其是在开发和部署...

    JmeterJenkinsmaven接口自动化集成.docx

    2. **配置插件**:如果需要使用特定的插件(如JMeter Ant Task),还需在`build`标签内添加相应的插件配置。 ### Jenkins集成 #### 3.1 Jenkins安装 1. **下载Jenkins**:访问Jenkins官方网站下载最新版本的...

Global site tag (gtag.js) - Google Analytics