`
lvjun106
  • 浏览: 436194 次
  • 性别: Icon_minigender_1
  • 来自: 芜湖
社区版块
存档分类
最新评论

Maven3 执行ant任务

 
阅读更多

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

分享到:
评论

相关推荐

    Maven2.Ant.Junit合集

    Ant的核心概念是任务(Tasks),它们是Ant执行的具体操作。例如,`javac`任务用于编译Java源代码,`jar`任务用于创建JAR文件。Ant强调可配置性和可扩展性,可以适应各种项目的需求。 2. **JUnit**: JUnit是Java...

    maven-ant-tasks-2.1.3.zip

    通过在 `path` 元素中引入 `maven-ant-tasks-2.1.3.jar`,确保 Ant 能够识别并执行 Maven 相关的任务。例如: ```xml &lt;taskdef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache....

    Maven 与 Ant 之比较

    2. **任务导向**:Ant 通过任务(tasks)来执行各种操作,如Copy、Delete、JAR等。 3. **无依赖管理**:Ant 需要开发者手动管理依赖库,可能导致版本冲突。 4. **无固定项目结构**:Ant 不强制项目结构,但推荐良好...

    通向架构师的道路(第二十三天)maven与ant的奇妙整合.docx

    * 任务驱动:Ant 使用任务驱动的方式来实现自动化构建,每个任务都可以独立执行。 *XML 配置文件:Ant 使用 XML 文件来描述构建过程,易于维护和修改。 三、Maven 和 Ant 的整合 Maven 和 Ant 都有其独特的优点,...

    maven-ant-tasks:Apache Maven ant任务的镜像

    "Maven-ant-tasks"是一个Java库,提供了Ant任务,这些任务可以与Maven交互,如执行Maven目标、解析POM(Project Object Model)文件、处理依赖关系等。这使得开发者能够在Ant构建脚本中使用Maven的特性,如自动下载...

    maven compare to the ant

    ### Maven与Ant对比:构建与编译工具的深入解析 #### 概述 在软件开发过程中,构建工具扮演着至关重要的角色。它们不仅能够帮助开发者自动化执行常见的构建任务(如编译、测试、打包等),还能提高开发效率,确保...

    ant maven3

    3. **插件系统**:Maven3有一套丰富的插件系统,能够执行编译、测试、打包、部署等各种任务。 4. **项目信息管理**:Maven3通过POM文件统一管理项目信息,如作者、版本、描述等。 5. **多模块项目**:Maven3对多模块...

    java-maven-apache-ant-zip-2.3-jar包依赖

    3. `jar`:打包类型,表明这是一个Java Archive文件,包含了可执行的Java类和资源。 4. `2.3`:版本号,表示这个依赖的特定版本,开发者可以根据项目需求选择合适版本。 Apache Ant是Apache软件基金会的一个项目,...

    ant-1.6.5.jar.zip

    `ant-1.6.5.jar`是Ant 1.6.5的主库,包含了所有执行构建任务所需的类和资源。这个JAR文件是使用Java编程语言编写的,可以被任何Java环境运行。用户可以通过执行`java -jar ant-1.6.5.jar`命令来启动Ant,然后结合`...

    maven plugin maven plugin

    为此,Maven 提供了 `maven-antrun-plugin`,它允许在 Maven 构建流程中运行 Ant 任务。在 `pom.xml` 中定义 Ant 任务,可以充分利用两者的优点。 在实际开发中,我们需要根据项目需求选择和配置合适的 Maven 插件...

    maven3.x学习

    3. **插件机制**:Maven 插件丰富,可以执行各种任务,如代码质量检查、代码覆盖率报告、生成文档等。 4. **标准化**:Maven 通过约定优于配置的理念,使得项目结构、配置文件等保持一致,便于团队协作和代码维护。...

    ant-assembly-maven-plugin:用于将Ant用作组装工具的Maven插件

    AntBuildMojo提供了用于处理Maven工件图的高级Ant任务。 它带有用于构建“分发”的各种Ant任务:过滤库,解析工件,将结果附加到MavenReact器以用于install或deploy ... IntegrationTestMojo和VerifyMojo帮助将任意...

    [北京圣思园Ant深入详解]_003.Ant目标深度详解、使用Ant的各种任务

    一些常见的Ant任务包括`&lt;copy&gt;`(复制文件或目录)、`&lt;javac&gt;`(编译Java源代码)、`&lt;mkdir&gt;`(创建目录)和`&lt;jar&gt;`(创建JAR文件)等。 让我们以`&lt;javac&gt;`任务为例,它是用于编译Java源代码的关键任务。你可以配置...

    shell脚本一键安装Ant和Maven

    3. **下载Ant**:然后,脚本会从Apache官方网站下载Ant的tar.gz文件,可能使用`wget`或`curl`命令。 4. **解压Ant**:下载完成后,使用`tar -zxvf ant-版本号.tar.gz`来解压。 5. **配置Ant**:解压后,脚本会将...

    apache-ant-1.9.6

    - **任务(Task)**:Ant的任务是构建过程中执行的具体动作,例如`javac`用于编译Java源代码,`jar`用于打包类文件为JAR,`copy`用于复制文件等。 - **属性(Properties)**:Ant支持定义和使用属性,它们可以用来存储...

    《一头扎进Maven3》第三讲源码及文档

    1. Maven简介:了解Maven的起源和发展,以及它是如何解决传统构建工具(如Ant)面临的复杂性问题的。Maven基于项目对象模型(Project Object Model, POM),使得项目配置更加简洁且易于维护。 2. POM(项目对象模型...

    ant-1.10+Maven-3.5i最新官方版下载

    在Ant和Maven的结合使用中,Ant可能被用来执行一些Maven不擅长或者尚未覆盖的任务,例如执行特定的脚本或者处理非Java的资源文件。而Maven则负责项目依赖管理和构建流程的标准化。这种组合可以充分利用两者的优点,...

    Junit+ant+cobertura示例

    Cobertura提供的Ant任务如cobertura-instrument用于修改字节码以收集覆盖率信息,而cobertura-report则用于生成HTML或XML格式的覆盖率报告。 【TestCobertura】 在"TestCobertura"这个文件中,可能包含了一组专门为...

    Appfuse的Ant任务列表

    3. **test**:执行单元测试,通常配合JUnit或TestNG框架进行。它会编译并运行源代码中的测试类,生成测试报告,帮助开发者确保代码质量。 4. **jar**:此任务将编译后的类文件打包成JAR文件,便于分发和运行。...

    用谷歌的closure-compiler + maven-antrun-plugin

    3. **编写Ant任务** 在`&lt;target&gt;`中,创建一个`&lt;sequential&gt;`元素,然后添加`&lt;java&gt;`元素来执行Closure Compiler。你需要指定`classname`为Closure Compiler的主类,`classpath`指向Closure Compiler的JAR,以及`...

Global site tag (gtag.js) - Google Analytics