经常在项目里要涉及到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 类 的 代码 。
分享到:
相关推荐
3. 在Ant构建文件中使用`taskdef`元素引入自定义Task。 4. 在目标(target)中调用自定义Task。 通过这种方式,开发者可以扩展Ant的能力,使其更好地适应项目的特定需求。在实际项目中,可以根据需要创建复杂、功能...
AntTask.jar文件就是这样一个包含Ant任务的可执行Java类库,开发者可以通过Java的`java -jar`命令或者在Ant构建脚本中引用它来执行其中的任务。 在AntTask.jar.zip压缩包中,我们还发现了ant.license.txt文件。这...
Ant Task 1.3.2.jar可能依赖于其他库来实现其功能,比如Ant Contrib库,这是一个包含了更多自定义Ant任务的扩展库。在使用Ant Task 1.3.2.jar时,必须确保所有依赖的库都已经正确地包含在类路径中,否则可能会导致...
Sonar Ant Task的使用,不仅限于基本的代码质量检查,还可以结合SonarQube的规则库,自定义规则集,针对特定编程语言或项目特性进行定制化分析。同时,它支持多模块项目的分析,可以分别处理每个模块的代码质量,...
Ant Task手册
1. **创建Task类**:自定义任务的核心是一个实现了`org.apache.tools.ant.Task`接口或者继承了`org.apache.tools.ant.Task`类的Java类。这个类需要包含执行实际工作的逻辑。 2. **定义属性**:如果你的任务需要接收...
这个文件是Ant构建过程的蓝图,包含了所有构建任务和它们的依赖关系。它定义了如何编译源代码、打包应用、执行测试以及部署项目。在myEclipse这样的集成开发环境中,可以方便地创建和管理这些Ant构建文件。 描述中...
单元测试是验证代码功能是否正确的重要手段,对于自定义任务也不例外。Apache Ant提供了TestKit框架,用于模拟Ant环境并测试任务的行为。 以压缩包中的`HelloWorldTest.java`为例,我们可以使用JUnit作为测试框架,...
### 厂家自定义Ant编译流程源码分析 #### 一、Ant简介与安装配置 Ant(Apache Ant)是一种Java平台上的自动化构建工具,主要用于编译、测试、部署等任务,支持跨平台操作。它通过XML脚本来定义构建过程,能够执行...
在本主题中,“deli2 + ant 用于验证uaprof文件”是一个针对UAPROF文件验证的解决方案,它结合了两个工具——deli2和Apache Ant,来帮助开发者检查UAPROF文件的正确性和完整性。 1. **deli2**:这是一个开源的、...
自定义任务可以处理各种操作,如文件操作、数据库交互、代码生成等,极大地增强了Ant的灵活性和实用性。 #### 二、自定义任务的实现步骤 自定义任务的实现主要包括以下几个关键步骤: 1. **创建自定义任务类**:...
自定义Ant任务通常通过实现`org.apache.tools.ant.Task`接口或者继承`org.apache.tools.ant.TaskAdapter`类来完成。首先,我们需要创建一个Java类,然后在这个类中实现`execute()`方法,这个方法将在Ant运行时被调用...
在实际应用中,Ant 1.6.5的用户可以根据项目需求自定义`build.xml`文件,定义构建过程中的每个步骤。通过使用条件语句、目标依赖关系和属性变量,构建脚本可以变得灵活且易于维护。同时,Ant支持插件机制,允许...
ant 1.5 pom文件
在"ant发送邮件依赖jar包.rar"这个压缩文件中,我们很显然关注的是如何使用Ant来发送邮件,这通常涉及到一些特定的库或者依赖项。邮件发送功能在Java中通常是通过JavaMail API实现的,而Ant则可以通过调用JavaMail ...
总结来说,自定义Ant Design Vue的主题颜色主要可以通过修改配置文件或直接编辑less文件来实现。虽然修改配置文件的方法简单直接,但由于其局限性和不便之处,推荐采用直接修改less文件的方式,这将提供更灵活和高效...
总的来说,Ant Design离线文档是开发过程中不可或缺的工具,特别是对于依赖Ant Design的项目团队,可以提高开发效率并确保代码与框架的最新版本保持同步。将这些文件部署到本地Apache服务器,只需按照Apache的配置...
ant 的 sonar-ant-task 依赖 jar 包,有些 java 开源项目依赖此包编译,nutch 就是其中之一,此为 2.2 版本。下载 sonar-ant-task-2.2.jar.zip 解压为 .jar 文件,复制到 ant/lib/ 目录下即可使用。
4. **任务(Task)**:任务是Ant执行的具体动作,如`javac`用于编译Java源码,`jar`用于创建JAR文件,`copy`用于复制文件等。每个任务都可以有自己的属性和子任务。 5. **路径(Path)**:Ant中的路径元素用于定义...