使用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>

 

Apache Ant 1.10.1:Java项目构建的强化与新特性 Apache Ant是一个Java程序和库的构建工具,它使用基于XML的构建文件来描述构建过程,并且能够执行诸如编译、打包、测试和运行应用程序等任务。Ant自诞生以来,就以其跨平台性、灵活性以及对任务和目标的清晰定义,成为IT界广泛应用的工具之一。Ant的一个主要优点是它不需要开发者在构建文件中硬编码命令,而是通过XML格式的脚本来定义项目构建的具体步骤,从而可以轻松实现跨平台构建。这一点对于在不同操作系统间需要保持一致构建流程的团队尤其重要。 阅读详情

相关推荐

maven-ant-tasks-2.1.3.zip

maven包:maven-ant-tasks-2.1.3.jar 手动下载配置,解决国外源下载速度慢的问题

构建工具:Ant、Maven、Gradle

一个Java程序经过编译、测试、打包的步骤,在这个构建的过程中可以手动使用java、javac、jar命令来进行构建。随着工程文件的增加,便在最初使用Make来构建,GNU Make构建工具主要用于C语言项目,但是GNU Make并不限于某种编程语言,也不限于编译代码的场景。构建工具是一个把源代码生成可执行应用程序的过程自动化的程序(例如Android app生成apk)。构建包括编译、连接跟把代码打包成可用的或可执行的形式。但是,在C语言中有许多约定并不适合Java的生态,进而逐渐出现了。

m0_62965917的博客 1613

【学习笔记】《基于φ-OTDR的分布式扰动传感系统定位算法研究-北交-通信与信息系统-吴》重点笔记

一、绪论 1.1 引言 光纤传感器的优点:跟电子传感器相比较,光纤传感器有诸多独特的优势:对电磁干扰免疫;具有很好的绝缘性和耐腐蚀性;灵敏度高,可测量微弱信息;可实现大范围监测和分布式传感,仅需一根传感光纤,更为经济便捷;传感光纤体积小、重量轻、可形变,适用于一些特殊应用场所;还有无需供电、耐高温、便于组网等等优点 光纤传感器的感知信号的方法:当探测光入射到光纤中时会发生散射并产生各种散射光...

qq_36045093的博客 2万+

Maven+Jmeter+Ant+Jenkins实现持续集成-接口自动化测试

Maven+Jmeter+Ant+Jenkins实现持续集成-接口自动化测试

C_LZY_BOLG的博客 899

从维纳滤波到Richardson-Lucy:图像去模糊算法的原理与实践

本文深入解析了图像去模糊的核心原理,重点对比了维纳滤波与Richardson-Lucy两种经典去卷积算法。维纳滤波在频域进行快速权衡,适用于高斯噪声场景;而Richardson-Lucy算法基于泊松噪声模型迭代优化,更适用于天文、显微等科学成像。文章通过Python代码实践,详细阐述了PSF(点扩散函数)的关键作用及算法选型指南。

weixin_29285605的博客 386

计算机视觉-全景图像拼接中的特征匹配与优化策略

本文深入探讨了计算机视觉中全景图像拼接的核心技术,重点解析了特征匹配后的关键优化策略。通过SIFT特征提取、RANSAC算法剔除误匹配,并结合APAP算法应对视差与鬼影问题,详细阐述了从基础对齐到无缝融合的完整流程,为开发者实现高质量全景拼接提供了实用指南。

weixin_29039773的博客 361

ant中使用maven-ant-tasks下载maven的依赖

ant中使用maven-ant-tasks下载maven的依赖 <!-- #favor_form {width:200px} #favor_form p {color:#666} #favor_form form {height:60px; width:200px} #favor_form form ._favor_input {display:block;

我想 我做 5320

Webots+UR机械臂仿真全流程:手把手教你用Python实现Pick-and-Place轨迹规划

本文详细介绍了使用Webots和Python实现UR六自由度机械臂的Pick-and-Place轨迹规划全流程。从环境搭建、运动学正逆解计算到轨迹规划实战技巧,涵盖工业场景中的关节补偿、末端校准等实际问题解决方案,帮助开发者快速掌握机械臂精准控制技术。

weixin_29083649的博客 284

ant集成maven打包

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34195142的博客 1190

淘宝电商产品价格官方防爬取采集设计机制,如何破?|淘宝电商API数据采集看完你也会!

然而,随着电子商务的蓬勃发展,涌现出大量的第三方工具和应用,试图通过采集淘宝电商产品价格等信息来进行数据分析和竞争优势的获取。为了维护市场秩序和保护商家权益,淘宝采取了一系列的防爬取设计机制,以阻止非授权的数据采集行为。为了确保数据的准确性和及时性,淘宝采取了多层次的防爬取机制,以限制未经授权的数据采集。其它的情况,比如淘宝首页、淘宝关键词商品搜索结果页面、商品详情页面,都是正常展示,未实现加密;也可以使用【tesseract ocr识别】指令,这个是免费无限使用的;【淘宝商品搜索结果页面-本地截图】

TinagirlAPI的博客 1388

东方财富网 数据访问接口及字段说明

东方财富网 数据访问接口和字段说明

雨中山草 2万+

java maven spring_java-Eclipse在maven .pom中添加springframework依赖...

我使用webapp工件在Eclipse中创建了一个Maven项目,并在阅读在线教程后将以下几行放在.pom文件中.org.springframeworkspring3.0.5.RELEASE但是,在本教程中,版本为2.5.6.考虑到其最新版本,我将其替换为3.0.5.RELEASE.但是对于这个版本,eclipse给出了一个错误Missing artifact org.springframewor...

weixin_39682412的博客 607

汽车信息安全--SHE中的密钥管理(二)

上一篇我们讲解了HTA基本概念,SHE和EVITA HSM区别以及SHE的架构,接下来我们聊一聊SHE中的密钥管理策略。

认真搞搞汽车MCU 2405

SBuild 0.3.0 发布,基于 Scala 的构建系统

SBuild 0.3.0 升级 Scala 到 2.10 版本,执行构建过程更加可靠。 SBuild 是基于 Scala 的构建系统,主要特点: 平台无关 支持多项目 自动检测所需的动作以及新版本 灵活的模式处理机制 支持 Maven 资料库 集成 Ant 任务 跨项目依赖解析 高性能 语法简单,无需 Scala 知识 ...

weixin_34218579的博客 86

034、MLCA 多尺度局部上下文注意力的 YOLOv11 适配:轻量级金字塔式空间上下文聚合

本文介绍了一种将多尺度局部上下文注意力(MLCA)模块集成到YOLOv11模型中的方法,以解决小目标检测中空间信息丢失的问题。MLCA采用金字塔式局部上下文聚合策略,通过不重叠的网格划分实现轻量级空间注意力计算,相比全局注意力机制能更好地保留小目标特征。 作者详细记录了实现过程,包括模块定义、参数调优和训练技巧,特别指出避免使用BN而改用GroupNorm以提升训练稳定性。在VisDrone数据集上的实验表明,MLCA-YOLOv11在参数量和计算量基本不变的情况下,mAP提升2.5%,其中行人检测提升3.

sundong_81的博客 280

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

号外!MyEclipse 2023.1.1已发布,更好支持Vue框架

本文将介绍MyEclipse 2023.1.1版本的更新细节,欢迎下载最新版IDE体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1203

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jenkins构建非maven项目

jenkins构建非maven项目 操作系统:CentOS7 jenkins版本:Jenkins ver. 2.150.3 Ant版本:1.9.14 Ant 安装教程 ant 1.9.14安装包 链接:https://pan.baidu.com/s/1wnmYKQD_fwFLHUfmVxybyA 提取码:r8av 1.下载ant 安装包上传到服务器 2.解压文件到opt 文件目...

wildcat-的博客 4356

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

三大构建工具比较——Ant vs Maven vs Gradle

1.简介 在本文中,我们将探讨三个主要构建JVM生态系统的Java构建自动化工具–Ant,Maven和Gradle。 我们将介绍它们中的每一个,并探讨Java构建自动化工具是如何演变的。 2. Apache Ant 最初,Make是除了自行开发的解决方案之外唯一的构建自动化工具。Make自1976年以来一直存在,因此,它在Java早期用于构建Java应用程序。 但是,C程序中的许多约定都不适合Ja...

Hornsey的博客 7235

使用Ant和Maven构建时出现OOM异常

[size=large] 今日更新测试环境时报OOM错误(工程中使用了Ant和Maven) 参照《Maven和Ant构建大项目时内存溢出的解决方案》——设置相应的参数OK 1. Maven的解决方案 找到文件%M2_HOME%\bin\mvn.bat,这就是启动Maven的脚本文件,找到该文件中以下代码所在的行: Java代码 @REM set MAVEN_OPTS=-...

JAVAZHICHIZHE的专栏 504

Maven&Ant:Apache Maven一个潜在的基于java的apache ant的构建工具的替代者。

Ant百度百科 http://baike.baidu.com/view/1479196.htm     Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。   用户群:大多数的Java设计都被用于管理大量信息流,例如纽约州就使用Apache Ant去管理美国最大的青年计划,每天可以实

testarchitect的专栏 663

取代 Ant:使用 Maven 管理 Wowza 插件开发

Wowza ide 对于 Wowza 插件的开发不支持 maven,开发调试起来虽然没啥问题,但随着各种功能的不断添加,第三方包会越来越多,各种 jar 包管理起来相当混乱,给开发和维护升级带来很多不便。事实上 Maven 也可以集成进 Wowza 的开发进来,完全可以替代掉 Wowza 官方 IDE 提供的 ant。本文介绍如何使用 Maven 开发一个 Wowza 插件的过程。实践证明,Maven 开发 Wowza 插件,具有 ant 所具备的所有优点(比如对开发中的插件进行断点调试、项目自动部署),不

Defonds 的专栏 4468

脚本语言可以做什么? 再说说 Ant、Maven和Gant

本人也稍微用了一些脚本语言了,可是在同事的反馈给我的印象中,脚本语言似乎从未得到正名,似乎总是寒酸和小打小闹的代名词。我在做一个门户网站,身边有一些公司和某一些开发人员,总是对于页面上的技能很轻视,殊不知用户体验(也许我专指UCD)恰恰是对用户影响最大的部分,对Portal来说,更胜于功能。同样,脚本语言亦扮演着看似无足轻重,但实际非常重要的作用。 脚本语言可以做什么?适合做什么?能想到的,似乎总是敏捷、快速、轻量的东西,说得冠冕堂皇一点,就是能把人从繁重的重复劳动中解脱出来;还有,就是很适合运行在客户端

四火专栏 6099

IDEA Maven 构建部署项目

IDEA 配置 Maven IDEA 比较高的版本其实已经自带Maven插件了,同时自带maven2,maven3,可以省略这个过程,不过也可以选择自己手动配置Maven; 在进行IDEA配置Maven之前,要先下载和配置Maven,具体过程见:01. Maven 安装配置&基本使用 IDEA 配置Maven的步骤如下: 1)打开【File -> settings -> B

Al_assad的博客 1497

Eclipse 使用maven构建web项目

微信小程序开发,毕业设计项目 以前在学习SSH框架时,用的李刚的《轻量级JavaEE》,在安装一系列的工具时,碰到Maven这个工具(还有Ant),当时并没有体会到这个工具的作用。   1.先来简谈一下Maven作用         对于初学者来说最主要的作用,就是在开发过程中,我们总是会找各种各样jar包,手动导入时,有时会出现因为有些jar包未导入或者相关j

雪利网络科技 11万+

Jenkins的Maven项目的基本部署流程_maven validation level

1、再次点击新增JDK,安装第步的方法再次配置新jdk即可2、也可点击自动安装,配置别名,选择版本,配置oracle官方账号和密码,使jenkins从官网自动安装jdk。

2401_85013709的博客 1477

Maven项目构建与依赖管理实战指南

Maven作为Java生态中广泛使用的项目构建工具,其核心价值在于标准化的项目管理和高效的依赖管理机制。通过声明式配置(pom.xml)和丰富的插件体系,开发者可以轻松实现从代码编译到打包部署的全流程自动化。在企业级开发中,Maven的依赖管理能力尤为重要,它能自动解决传递性依赖和版本冲突问题,显著提升开发效率。结合阿里云镜像仓库等优化配置,可以加速依赖下载速度。本文以最新Maven 3.9.x版本为例,详细讲解环境搭建、项目初始化、多模块管理等实用技巧,帮助开发者掌握这一Java项目构建的工业标准工具。

weixin_33933118的博客 489
上一篇: 婚礼用--宾客席位搜索器
下一篇: 最近做的Web流程设计器雏形,支持BPMN2.0
yonlist
博客等级 码龄19年 0粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值