maven 如何执行ant呢?maven如何执行本地命令呢?
使用maven-antrun-plugin 插件
详情请参阅:http://maven.apache.org/plugins/maven-antrun-plugin/run-mojo.html
示例:
pom.xml内容:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.kunlunsoft</groupId> <artifactId>check_same_content</artifactId> <version>0.02-SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>com.kunlunsoft</groupId> <artifactId>io0007-find_progess</artifactId> <version>0.0.6-SNAPSHOT</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> </dependencies> <build> <plugins> <!-- 生成可执行的 jar 包 <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <appendAssemblyId>false</appendAssemblyId> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.hw.main.CheckSameApp</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>assembly</goal> </goals> </execution> </executions> </plugin> --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.2.1</version> <configuration> <!-- <finalName>${project.build.name}</finalName> --> <attach>true</attach> <encoding>${project.build.sourceEncoding}</encoding> </configuration> <executions> <execution> <!-- 在 compile 阶段执行 maven-source-plugin 插件的 jar --> <phase>compile</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <!-- 设置编码 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- 使用SureFire-Plugin进行单元测试及selenium集成测试 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.15</version> <configuration> <skip>true</skip> </configuration> <executions> <execution> <id>run-test</id> <!-- 绑定到默认生命周期 --> <phase>test</phase> <goals> <goal>test</goal> </goals> <configuration> <skip>false</skip> <includes> <include>**/UnitTest.java</include> </includes> </configuration> </execution> <execution> <!-- 绑定到默认生命周期 --> <phase>integration-test</phase> <goals> <goal>test</goal> </goals> <configuration> <skip>false</skip> <includes> <include>**/IntegrationTest.java</include> </includes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.7</version> <configuration> <target name="abc"> <!-- <exec dir="." executable="Q:/work/apache-tomcat-7.0.41/bin/startup.bat" failonerror="true"> </exec> --> <echo message="os is abc" /> </target> </configuration> <executions> <execution> <id>fds</id> <phase>clean</phase> <configuration> <tasks> <!-- <exec dir="${tomcat.home}/bin" executable="startup.bat" failonerror="true"> </exec> --> <echo message="os is b2" /> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>ant</groupId> <artifactId>ant-junit</artifactId> <version>1.6.2</version> </dependency> </dependencies> </plugin> </plugins> </build> </project>
打开命令行,执行mvn clean,运行结果(部分):
[INFO] Executing tasks
main:
[echo] os is b2
[INFO] Executed tasks
执行mvn antrun:run,运行结果:
[INFO] Executing tasks
abc:
[echo] os is abc
相关推荐
通过在 `path` 元素中引入 `maven-ant-tasks-2.1.3.jar`,确保 Ant 能够识别并执行 Maven 相关的任务。例如: ```xml <taskdef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache....
* 任务驱动:Ant 使用任务驱动的方式来实现自动化构建,每个任务都可以独立执行。 *XML 配置文件:Ant 使用 XML 文件来描述构建过程,易于维护和修改。 三、Maven 和 Ant 的整合 Maven 和 Ant 都有其独特的优点,...
标题“Maven 与 Ant 之比较”表明了本文将探讨两种在Java开发中广泛使用的构建工具——Maven和Ant。它们的主要功能是管理和自动化项目的构建过程,包括编译源代码、运行测试、打包应用以及部署。通过对两者进行对比...
《Maven2.Ant.Junit合集》是一个包含多种IT工具和框架的资源包,主要聚焦于Java开发中的构建管理和单元测试。这个合集提供了PDF和CHM两种格式的文档,便于不同用户根据个人喜好进行阅读。以下是这些工具及其重要知识...
"Maven-ant-tasks"是一个Java库,提供了Ant任务,这些任务可以与Maven交互,如执行Maven目标、解析POM(Project Object Model)文件、处理依赖关系等。这使得开发者能够在Ant构建脚本中使用Maven的特性,如自动下载...
### Maven与Ant对比:构建与编译工具的深入解析 #### 概述 在软件开发过程中,构建工具扮演着至关重要的角色。它们不仅能够帮助开发者自动化执行常见的构建任务(如编译、测试、打包等),还能提高开发效率,确保...
用户可以通过执行`java -jar ant-1.6.5.jar`命令来启动Ant,然后结合`build.xml`文件进行项目构建。 值得注意的是,Ant是一个依赖于其他库的工具,比如JDK本身。因此,在使用Ant 1.6.5之前,确保已经正确安装了兼容...
在Java项目中,通常使用Ant脚本来执行JUnit测试。通过在Ant构建文件(build.xml)中定义一个JUnit任务,可以指定要运行的测试类或测试套件。Ant会自动处理测试结果,生成报告,包括成功的测试、失败的测试以及错误...
在Java开发过程中,打包和部署是必不可少的环节,而`Ant`作为一个强大的构建工具,能够帮助我们自动化这些任务。本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际...
在实际开发中,Apache Ant常与Maven、Gradle等其他构建工具一起使用,虽然它们有各自的优点和适用场景,但Ant以其高度的定制性和灵活性受到很多开发者的青睐。在部署、测试、打包等环节,Ant都扮演着重要角色。通过...
Maven 插件是 Maven 构建生命周期的一部分,每个插件都包含一组目标(goals),这些目标在特定的构建阶段执行。例如,`maven-compiler-plugin` 用于编译源代码,`maven-surefire-plugin` 用于运行单元测试。在 `pom....
Java Maven Apache Ant Zip 2.3 Jar包依赖详解 在Java开发中,Maven和Apache Ant是两种广泛使用的构建工具,它们帮助开发者管理和构建项目。本文将深入探讨`com.ckfinder:apache-ant-zip:jar:2.3`这个特定的依赖,...
本文将详细介绍如何使用shell脚本来一键安装Apache Ant和Maven,这两个都是Java开发中的关键构建工具。 Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它允许开发者通过XML描述构建过程,包括编译、...
Maven与Ant都是用于构建Java项目的工具,但Maven更侧重于项目管理和依赖管理,而Ant则更灵活,适合定制化程度高的构建任务。 #### 二、Maven的安装与运行 Maven的安装相对简单,主要步骤包括验证Java环境、下载...
Ant的核心概念是任务(Tasks),这些任务是构建过程中的可执行单元,可以执行各种操作,如复制文件、编译源代码或运行测试。 "ant-tasks-2.1.3.jar"是Ant的扩展任务库,包含了除Ant核心任务之外的一些额外功能。...
在Ant和Maven的结合使用中,Ant可能被用来执行一些Maven不擅长或者尚未覆盖的任务,例如执行特定的脚本或者处理非Java的资源文件。而Maven则负责项目依赖管理和构建流程的标准化。这种组合可以充分利用两者的优点,...
- **Maven vs Ant**: Maven 使用 XML 配置,提供了丰富的预定义生命周期和插件,简化了构建过程,而 Ant 更加灵活,适用于更复杂的定制需求。 - **Maven vs Gradle**: Gradle 同样具有强大的依赖管理和构建功能,但...
Maven是Ant的另一种选择么? 1.7. 比较Maven和Ant 1.8. 总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装...
在Maven中,项目被视为一系列相互关联的目标集合,每个目标都有其特定的生命周期阶段,通过这种方式,Maven能够自动执行一系列的构建任务。 #### Maven与Ant的比较 Maven与Ant都是流行的构建工具,但它们之间存在...