`
阅读更多

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

 

 

1
2
分享到:
评论

相关推荐

    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的奇妙整合.docx

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

    Maven 与 Ant 之比较

    标题“Maven 与 Ant 之比较”表明了本文将探讨两种在Java开发中广泛使用的构建工具——Maven和Ant。它们的主要功能是管理和自动化项目的构建过程,包括编译源代码、运行测试、打包应用以及部署。通过对两者进行对比...

    Maven2.Ant.Junit合集

    《Maven2.Ant.Junit合集》是一个包含多种IT工具和框架的资源包,主要聚焦于Java开发中的构建管理和单元测试。这个合集提供了PDF和CHM两种格式的文档,便于不同用户根据个人喜好进行阅读。以下是这些工具及其重要知识...

    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-1.6.5.jar.zip

    用户可以通过执行`java -jar ant-1.6.5.jar`命令来启动Ant,然后结合`build.xml`文件进行项目构建。 值得注意的是,Ant是一个依赖于其他库的工具,比如JDK本身。因此,在使用Ant 1.6.5之前,确保已经正确安装了兼容...

    Junit+ant+cobertura示例

    在Java项目中,通常使用Ant脚本来执行JUnit测试。通过在Ant构建文件(build.xml)中定义一个JUnit任务,可以指定要运行的测试类或测试套件。Ant会自动处理测试结果,生成报告,包括成功的测试、失败的测试以及错误...

    ant脚本编译jar

    在Java开发过程中,打包和部署是必不可少的环节,而`Ant`作为一个强大的构建工具,能够帮助我们自动化这些任务。本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际...

    apache-ant-1.9.6

    在实际开发中,Apache Ant常与Maven、Gradle等其他构建工具一起使用,虽然它们有各自的优点和适用场景,但Ant以其高度的定制性和灵活性受到很多开发者的青睐。在部署、测试、打包等环节,Ant都扮演着重要角色。通过...

    maven plugin maven plugin

    Maven 插件是 Maven 构建生命周期的一部分,每个插件都包含一组目标(goals),这些目标在特定的构建阶段执行。例如,`maven-compiler-plugin` 用于编译源代码,`maven-surefire-plugin` 用于运行单元测试。在 `pom....

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

    Java Maven Apache Ant Zip 2.3 Jar包依赖详解 在Java开发中,Maven和Apache Ant是两种广泛使用的构建工具,它们帮助开发者管理和构建项目。本文将深入探讨`com.ckfinder:apache-ant-zip:jar:2.3`这个特定的依赖,...

    shell脚本一键安装Ant和Maven

    本文将详细介绍如何使用shell脚本来一键安装Apache Ant和Maven,这两个都是Java开发中的关键构建工具。 Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它允许开发者通过XML描述构建过程,包括编译、...

    maven 安装配置手册

    Maven与Ant都是用于构建Java项目的工具,但Maven更侧重于项目管理和依赖管理,而Ant则更灵活,适合定制化程度高的构建任务。 #### 二、Maven的安装与运行 Maven的安装相对简单,主要步骤包括验证Java环境、下载...

    ant-tasks-2.1.3.jar.zip

    Ant的核心概念是任务(Tasks),这些任务是构建过程中的可执行单元,可以执行各种操作,如复制文件、编译源代码或运行测试。 "ant-tasks-2.1.3.jar"是Ant的扩展任务库,包含了除Ant核心任务之外的一些额外功能。...

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

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

    maven解压包

    - **Maven vs Ant**: Maven 使用 XML 配置,提供了丰富的预定义生命周期和插件,简化了构建过程,而 Ant 更加灵活,适用于更复杂的定制需求。 - **Maven vs Gradle**: Gradle 同样具有强大的依赖管理和构建功能,但...

    Maven权威指南 很精典的学习教程,比ANT更好用

    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 the definitive guide

    在Maven中,项目被视为一系列相互关联的目标集合,每个目标都有其特定的生命周期阶段,通过这种方式,Maven能够自动执行一系列的构建任务。 #### Maven与Ant的比较 Maven与Ant都是流行的构建工具,但它们之间存在...

Global site tag (gtag.js) - Google Analytics