`
yonlist
  • 浏览: 85652 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用Ant构建Maven3项目【更新】

 
阅读更多

之前的转的帖子经过验证发现还是有点问题的,所以打算重写一遍!

==========================================================================

maven的jar包依赖管理真的很好用,但是又喜欢ant的直接和灵活,现在有了Maven Ant Tasks可以获取maven的依赖关系并用ant进行build,非常好

 

先介绍下maven ant task的主页:http://maven.apache.org/ant-tasks/

目前的版本是2.1.3,可支持maven3!

==========================================================================

一、配置环境

将下载的maven-ant-tasks-2.1.3.jar扔到ANT_HOME\lib下

 

如果想在eclipse中进行build还需如下配置



先选择自己的ANT_HOME,(我没用eclipse自带的)



 

再选择Add Extralnal Jars,maven-ant-tasks-2.1.3.jar所在路径

 

配置完后就可以在build.xml中使用Run -> Ant Build

 

==========================================================================
 
 二、build.xml编写

琢磨了不少时间,成果如下

<?xml version="1.0" encoding="utf-8"?>
<project name="test" basedir="." default="build" xmlns:artifact="antlib:org.apache.maven.artifact.ant">

	<!-- 工程根目录 -->
	<property name="project" value="." />

	<!-- 工程名 -->
	<property name="project.name" value="myproject" />

	<!-- 版本  -->
	<property name="version" value="1.0.0" />

	<property name="src" value="${project}/src/main/java" />
	<property name="test" value="${project}/src/test/java" />
	<property name="build" value="${project}/build" />
	<property name="build.class" value="${project}/build/class" />
	<property name="build.lib" value="${project}/build/lib" />

	<!-- 结合maven进行编译、打包、复制依赖的jar -->
	<target name="maven-build">

		<path id="maven-ant-tasks.classpath" path="lib/maven-ant-tasks-2.1.3.jar" />
		<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant" classpathref="maven-ant-tasks.classpath" />

		<artifact:pom id="maven.project" file="pom.xml" />
		<artifact:dependencies pathId="maven.classpath" filesetid="maven.fileset">
			<pom refid="maven.project" />
		</artifact:dependencies>

		<!-- 编译 -->
		<javac srcdir="${src}" destdir="${build.class}" classpathref="maven.classpath" />

		<!-- 打包 -->
		<jar jarfile="${build.lib}/${project.name}-${version}.jar" basedir="${build.class}">
			<include name="org/myproject/**" />
		</jar>
		
		<!-- 复制依赖的jar -->
		<copy todir="${build.lib}">
			<fileset refid="maven.fileset" />
			<mapper type="flatten" />
		</copy>
	</target>

	<!-- 清理 -->
	<target name="clean">
		<delete dir="${build}" />
		<mkdir dir="${build.class}" />
		<mkdir dir="${build.lib}" />
	</target>

	<!-- 入口 -->
	<target name="build">
		<antcall target="clean" />
		<antcall target="maven-build" />
	</target>

</project>

 

  • 大小: 216.4 KB
  • 大小: 202.2 KB
分享到:
评论

相关推荐

    shell脚本一键安装Ant和Maven

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

    ANT构建的一个问题

    标题中的“ANT构建的一个问题”指的是在使用Apache Ant工具进行软件构建时遇到的特定问题。Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它通过XML定义的构建文件来描述构建步骤,使得开发者可以自动...

    ant maven3

    标题中的“ant maven3”指的是两种在Java开发中广泛使用的构建工具——Ant和Maven3。Ant是Apache软件基金会的一个项目,它是一个基于XML的构建工具,主要用于自动化Java项目的构建、编译、测试和部署过程。而Maven3...

    Maven 与 Ant 之比较

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

    JAVA网上会议系统开源源码(采用Ant和Maven管理)

    3. **运行与调试**:配置本地环境,通过Maven或Ant构建并运行项目,进行功能验证和问题调试。 4. **扩展与优化**:根据需求,可以修改源码以实现特定功能,或者优化性能和用户体验。 5. **学习构建工具**:通过实践...

    maven构建项目文档

    以上是关于 Maven 构建项目文档的关键知识点总结,涵盖了 Maven 的基本概念、核心功能、使用指南以及与常见开发工具的集成方式等内容。通过学习这些知识点,开发者可以更好地理解和利用 Maven 来管理和构建 Java ...

    Maven2.Ant.Junit合集

    Maven2(现在已经是Maven3)是另一个重要的Java项目管理工具,它以项目对象模型(Project Object Model, POM)为基础,自动化项目的构建、报告和文档生成。POM是一个XML文件,包含了项目的配置信息,如依赖关系、...

    maven-ant-tasks-2.1.3.zip

    Maven Ant Tasks 是一个由 Maven 项目提供的库,它允许 Ant 构建脚本与 Maven 交互,实现 Ant 任务中的 Maven 功能,如编译、测试、打包等。在 Maven Ant Tasks 2.1.3 版本中,包含了主要的 jar 包 `maven-ant-tasks...

    项目构建maven

    【标题】"项目构建maven" 是一个关于Java Web项目构建的重要工具,它在软件开发过程中扮演着核心角色。Maven是由Apache软件基金会开发的项目管理和综合工具,它通过使用一种标准化的项目对象模型(Project Object ...

    maven ant thrift0.9.0

    例如,你可以使用Ant来定义特定的构建任务,如生成Thrift代码,然后使用Maven来管理这些生成代码的依赖,并负责整个项目的构建流程。在Thrift 0.9.0版本中,可能需要配置特定的Maven或Ant插件来支持Thrift的编译。 ...

    ant构建以及基本运用

    《Ant构建及其基本应用》 Ant是Apache软件基金会下的一个项目,它是一个Java构建工具,主要用来自动化构建Java应用程序。Ant以其灵活性和可扩展性在Java开发领域中占据了重要的地位,尤其是在大型项目或者团队协作...

    maven java maven Eclipse 环境构建

    Maven 是 Apache 组织开发的一款强大的项目管理和构建工具,它替代了传统的 Ant 工具,简化了 Java 项目的构建过程。Maven 使用一个标准的目录结构和一个基于 XML 的配置文件,称为 `pom.xml`,来管理项目依赖、构建...

    版本管理及项目构建和maven的介绍使用

    在本文中,我们将重点关注两种常见的版本控制系统:SVN(Subversion)和项目构建工具Maven。 1. SVN 版本管理: - **环境搭建**:安装Subversion服务器,通常包括设置SVN库和配置权限。客户端工具如TortoiseSVN...

    maven使用文档,maven使用文档

    - Maven 提供了 [Continuum](http://maven.apache.org/continuum/) 这样一个持续集成工具,它能够定时构建项目,并支持多种构建工具(如 Ant 和 Maven)。 - Continuum 可以帮助团队自动化构建、测试和发布过程,...

    用Ant实现Java项目的自动构建和部署

    2. **Ant构建文件(build.xml)** 在Ant中,核心的配置文件是`build.xml`。这个文件定义了各种任务(tasks),如`javac`用于编译Java源代码,`jar`用于打包类文件,以及`copy`用于复制文件等。每个任务都有自己的...

    使用ant构建helloworld

    本教程将详细介绍如何使用Ant构建一个简单的“Hello, World!”项目。 首先,我们需要了解Ant的基本概念。Ant是一个基于Java的构建工具,它通过读取`build.xml`文件来执行一系列任务,这些任务可以是编译源代码、...

    Maven的简单使用

    #### 使用Maven生命周期命令插件构建项目 Maven提供了三个主要的生命周期:Clean、Default、Site。每个生命周期都包含一组预定义的阶段。例如,在Default生命周期中,常见的阶段有: - `validate` - `compile` - `...

    Maven2之旅 构建项目 文档编制

    相较于Ant,Maven不仅简化了构建过程,还提供了一系列高级特性,如依赖管理和项目信息管理等。 #### 二、Maven的核心功能 Maven的核心功能主要包括以下几个方面: 1. **构建项目(Builds)**:Maven通过定义一系列...

    Ant和Maven的作用是什么?两者之间功能、特点有哪些区别?.docx

    3. **POM.xml**:Maven使用Project Object Model (POM)文件来描述项目,其中包含了项目的属性、依赖关系和构建配置,极大地减少了配置工作。 4. **依赖管理**:Maven内置了依赖管理和仓库管理,自动解决和下载项目所...

    maven compare to the ant

    - **问题描述**:在使用Maven的J2EE项目中,配置`maven-ear-plugin`时出现问题,无法解析插件配置的POM文件。 - **问题详情**:具体表现为配置错误导致无法正确解析POM文件,进而影响到项目的构建。 - **解决思路...

Global site tag (gtag.js) - Google Analytics