Maven是杰出的项目管理工具,如今已然代替ANT,成为SCM的老大。但其只是一款项目管理工具,只能通过众多的插件来完成不同的任务,而本身不具有任务执行任务的能力。所以我们在日常开发中,所碰到的一些自定义的需求,不能通过已有插件完成的话,大部分的时候还是需要用ANT来。现在就介绍一下ANT与MAVEN集成的插件。
maven-ant-plugin
一个简单的例子:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.7</version> <executions> <execution> <phase>generate-sources</phase> <configuration> <tasks> <copy todir="${destDir}"> <fileset dir="${sourcedir}"> </fileset> </copy> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin>
和普通插件一样,需要goupid, version等。主要的还是在configuration中。
1. 可以直接执行ANT TASK,例如,delete, copy, jar等。具体的ANT task如下 http://ant.apache.org/manual/tasksoverview.html
2. 可以执行ANT 脚本
<configuration> <target> <property name="compile_classpath" refid="maven.compile.classpath"/> <property name="runtime_classpath" refid="maven.runtime.classpath"/> <property name="test_classpath" refid="maven.test.classpath"/> <property name="plugin_classpath" refid="maven.plugin.classpath"/> <ant antfile="${basedir}/build.xml"> <target name="test"/> </ant> </target> </configuration>
3. 部分ANT 命令已经存在于MAVEN中
Ant Expression | Maven Expression |
Built-in Tasks | |
Ant | maven-antrun-plugin |
AntCall | maven-antrun-plugin |
Available | profiles |
BUnzip2 | maven-assembly-plugin |
BZip2 | maven-assembly-plugin |
Chmod | maven-assembly-plugin |
Condition | profiles |
Copy | maven-resources-plugin |
Dependset | maven-dependency-plugin |
Ear | maven-ear-plugin |
Filter | maven-resources-plugin Note: Filter uses the @...@ token while maven-resources-plugin uses the $... token |
FixCRLF | maven-resources-plugin |
GenKey | maven-jar-plugin |
GUnzip | maven-assembly-plugin |
GZip | maven-assembly-plugin |
Jar | maven-jar-plugin |
Javac | maven-compiler-plugin |
Javadoc/Javadoc2 | maven-javadoc-plugin |
LoadProperties | maven-resources-plugin |
Manifest | maven-jar-plugin |
Property | maven-resources-plugin |
Replace | maven-resources-plugin Note: Replace can specify its token while maven-resources-plugin uses the $... token |
Tar | maven-assembly-plugin |
Unjar | maven-assembly-plugin |
Untar | maven-assembly-plugin |
Unwar | maven-assembly-plugin |
Unzip | maven-assembly-plugin |
War | maven-war-plugin |
Zip | maven-assembly-plugin |
Optional Tasks | |
Antlr | maven-antlr-plugin |
Depend | maven-dependency-plugin |
EJB Tasks | maven-ejb-plugin |
FTP | maven-deploy-plugin Note: maven-deploy-plugin can only deploy unto the FTP |
JavaCC | maven-compiler-plugin |
JJDoc | maven-compiler-plugin |
JJTree | maven-compiler-plugin |
JUnit | maven-surefire-plugin |
JUnitReport | maven-surefire-report-plugin |
ServerDeploy | maven-deploy-plugin |
Setproxy | maven-deploy-plugin |
Translate | maven-resources-plugin Note: Translate can specify its own tokens and can have a different encoding scheme for reading and writing files. maven-resources-plugin however uses the $... annotation only and has only one encoding scheme for reading and writing |
具体的介绍可见官网 http://maven.apache.org/plugins/maven-antrun-plugin/index.html
相关推荐
Ant的核心概念是任务(Tasks),它们是Ant执行的具体操作。例如,`javac`任务用于编译Java源代码,`jar`任务用于创建JAR文件。Ant强调可配置性和可扩展性,可以适应各种项目的需求。 2. **JUnit**: JUnit是Java...
通过在 `path` 元素中引入 `maven-ant-tasks-2.1.3.jar`,确保 Ant 能够识别并执行 Maven 相关的任务。例如: ```xml <taskdef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache....
2. **任务导向**:Ant 通过任务(tasks)来执行各种操作,如Copy、Delete、JAR等。 3. **无依赖管理**:Ant 需要开发者手动管理依赖库,可能导致版本冲突。 4. **无固定项目结构**:Ant 不强制项目结构,但推荐良好...
* 任务驱动:Ant 使用任务驱动的方式来实现自动化构建,每个任务都可以独立执行。 *XML 配置文件:Ant 使用 XML 文件来描述构建过程,易于维护和修改。 三、Maven 和 Ant 的整合 Maven 和 Ant 都有其独特的优点,...
"Maven-ant-tasks"是一个Java库,提供了Ant任务,这些任务可以与Maven交互,如执行Maven目标、解析POM(Project Object Model)文件、处理依赖关系等。这使得开发者能够在Ant构建脚本中使用Maven的特性,如自动下载...
### Maven与Ant对比:构建与编译工具的深入解析 #### 概述 在软件开发过程中,构建工具扮演着至关重要的角色。它们不仅能够帮助开发者自动化执行常见的构建任务(如编译、测试、打包等),还能提高开发效率,确保...
3. **插件系统**:Maven3有一套丰富的插件系统,能够执行编译、测试、打包、部署等各种任务。 4. **项目信息管理**:Maven3通过POM文件统一管理项目信息,如作者、版本、描述等。 5. **多模块项目**:Maven3对多模块...
3. `jar`:打包类型,表明这是一个Java Archive文件,包含了可执行的Java类和资源。 4. `2.3`:版本号,表示这个依赖的特定版本,开发者可以根据项目需求选择合适版本。 Apache Ant是Apache软件基金会的一个项目,...
`ant-1.6.5.jar`是Ant 1.6.5的主库,包含了所有执行构建任务所需的类和资源。这个JAR文件是使用Java编程语言编写的,可以被任何Java环境运行。用户可以通过执行`java -jar ant-1.6.5.jar`命令来启动Ant,然后结合`...
为此,Maven 提供了 `maven-antrun-plugin`,它允许在 Maven 构建流程中运行 Ant 任务。在 `pom.xml` 中定义 Ant 任务,可以充分利用两者的优点。 在实际开发中,我们需要根据项目需求选择和配置合适的 Maven 插件...
3. **插件机制**:Maven 插件丰富,可以执行各种任务,如代码质量检查、代码覆盖率报告、生成文档等。 4. **标准化**:Maven 通过约定优于配置的理念,使得项目结构、配置文件等保持一致,便于团队协作和代码维护。...
AntBuildMojo提供了用于处理Maven工件图的高级Ant任务。 它带有用于构建“分发”的各种Ant任务:过滤库,解析工件,将结果附加到MavenReact器以用于install或deploy ... IntegrationTestMojo和VerifyMojo帮助将任意...
一些常见的Ant任务包括`<copy>`(复制文件或目录)、`<javac>`(编译Java源代码)、`<mkdir>`(创建目录)和`<jar>`(创建JAR文件)等。 让我们以`<javac>`任务为例,它是用于编译Java源代码的关键任务。你可以配置...
3. **下载Ant**:然后,脚本会从Apache官方网站下载Ant的tar.gz文件,可能使用`wget`或`curl`命令。 4. **解压Ant**:下载完成后,使用`tar -zxvf ant-版本号.tar.gz`来解压。 5. **配置Ant**:解压后,脚本会将...
- **任务(Task)**:Ant的任务是构建过程中执行的具体动作,例如`javac`用于编译Java源代码,`jar`用于打包类文件为JAR,`copy`用于复制文件等。 - **属性(Properties)**:Ant支持定义和使用属性,它们可以用来存储...
1. Maven简介:了解Maven的起源和发展,以及它是如何解决传统构建工具(如Ant)面临的复杂性问题的。Maven基于项目对象模型(Project Object Model, POM),使得项目配置更加简洁且易于维护。 2. POM(项目对象模型...
在Ant和Maven的结合使用中,Ant可能被用来执行一些Maven不擅长或者尚未覆盖的任务,例如执行特定的脚本或者处理非Java的资源文件。而Maven则负责项目依赖管理和构建流程的标准化。这种组合可以充分利用两者的优点,...
Cobertura提供的Ant任务如cobertura-instrument用于修改字节码以收集覆盖率信息,而cobertura-report则用于生成HTML或XML格式的覆盖率报告。 【TestCobertura】 在"TestCobertura"这个文件中,可能包含了一组专门为...
3. **test**:执行单元测试,通常配合JUnit或TestNG框架进行。它会编译并运行源代码中的测试类,生成测试报告,帮助开发者确保代码质量。 4. **jar**:此任务将编译后的类文件打包成JAR文件,便于分发和运行。...
3. **编写Ant任务** 在`<target>`中,创建一个`<sequential>`元素,然后添加`<java>`元素来执行Closure Compiler。你需要指定`classname`为Closure Compiler的主类,`classpath`指向Closure Compiler的JAR,以及`...