`
yonlist
  • 浏览: 82988 次
  • 性别: 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
分享到:
评论

相关推荐

    用Maven做项目构建

    本文将介绍基于ApacheMaven3的项目构建的基本概念和方法。Maven是一套标准的项目构建和管理工具,使用统一规范的脚本进行项目构建,简单易用,摒弃了Ant中繁琐的构建元素,并具有较高的可重用性。读完本文,您将了解...

    maven plugin maven plugin

    maven plugin maven plugin scm 项目管理 构建工具 antmaven plugin maven plugin scm 项目管理 构建工具 ant

    build-tool-overkill:可以使用 Ant、Maven 和 Gradle 构建的示例 Java 项目(用于比较目的)

    构建工具矫枉过正可以使用 Ant、Maven 和 Gradle 构建的示例 Java 项目(用于比较目的)。使用蚂蚁要编译和测试项目,请运行ant test 。 要生成覆盖率报告,请运行ant report 。 要将项目发布到本地目录,请运行ant ...

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

    2.项目构建的方式,主要介绍Ant和maven,重点介绍maven。 包含Ant的简介及常用任务,maven的简介、环境配置、maven项目开发,maven依赖、maven仓库等概念以及maven生命周期和maven插件、聚合和继承等。 3.推荐的书籍

    maven 3.8.8 解压安装版

    由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来...

    apache-maven-3.8.5

    由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来...

    Maven最新版是一个流行的Java项目构建系统 目前,绝大多数开发人员都把Ant当作Java编程项目的标准构建工具.rar

    Maven使用基于XML的配置文件,称为pom.xml,来定义项目的结构和构建过程。 Maven的优点 易于使用这一特点使得Maven在软件开发中变得更加便捷。Maven的命令行界面易于使用,使得开发人员可以轻松地在多个操作系统上...

    apache-maven-3.1.0-src and bin

    由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,...

    Maven2之旅 构建项目 文档编制

    自从Java诞生以来,打包,测试,代码检测和发布Java工程就成为困扰...1.构建项目(Builds) 2.文档编制(Documentation) 3.报 告(Reporting) 4.依赖管理(Dependencies) 5.配 置管理(SCMs) 6.发布管理(Releases)

    apache-maven-3.5.4.zip

    由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来...

    JAVA(maven)项目管理器.doc

    Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建。报告和文档的软件项目管理工具;它提供仓库概念,尽可能避免了运行环境的问题导致程序无法运行; 下载地址:maven.apache,.org/Download/...

    apache-maven-3.6.zip

    由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来...

    apache-maven-3.5.0.zip

    由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来...

    apache-maven-3.0.3-bin.tar.gz

    由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,...

    apache-maven-3.2.5-src.zip

    Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件...由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

    apache-maven-3.6.2.rar

    由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来...

    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 快速教程.pdf

    由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来...

    maven window下安装包

    第1章:Maven概述/1.3 与其它构建相比/1.3.2 Ant 第2章:Maven的安装/2.1 Window下的安装 第2章:Maven的安装/2.2 Linux下的安装 第3章:Maven使用入门/3.1 编写POM 第3章:Maven使用入门/3.2 编写源代码 第3章:...

    apache-maven-3.0.4.rar

    Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为...

Global site tag (gtag.js) - Google Analytics