Maven的依赖管理的确是个好东西。但在集成构建方面,Ant显然更好。今天试用了一下maven-ant-task这个工具,感觉非常不错。可以在ant中调用maven的依赖
首先需要定义maven-ant-task,以及maven的pom路径
<!--使用Maven2依赖管理 -->
<path id="maven-ant-tasks.classpath"
path="lib/maven-ant-tasks-2.0.8.jar" />
<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="urn:maven-artifact-ant"
classpathref="maven-ant-tasks.classpath" />
<!--定义Maven2变量-->
<artifact:pom id="maven.project" file="pom.xml" />
<artifact:dependencies pathId="maven.classpath"
filesetid="maven.fileset">
<pom refid="maven.project" />
</artifact:dependencies>
在编译时使用之前定义好的classpath
<javac srcdir="${src}" destdir="${build.classes}"
classpathref="maven.classpath" />
一个完整的build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="elitemark-commons" default="build"
xmlns:artifact="urn:maven-artifact-ant">
<description>Elitemark lightweight commons API</description>
<property file="build.properties" />
<target name="clean"
description="Cleans up the build artifacts and temporary directories">
<delete dir="${dist}" />
<delete dir="${build.classes}" />
<delete dir="${build.test}" />
<delete dir="${build.javadoc}" />
</target>
<target name="init">
<!--使用Maven2依赖管理 -->
<path id="maven-ant-tasks.classpath"
path="lib/maven-ant-tasks-2.0.8.jar" />
<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="urn:maven-artifact-ant"
classpathref="maven-ant-tasks.classpath" />
<!--定义Maven2变量-->
<artifact:pom id="maven.project" file="pom.xml" />
<artifact:dependencies pathId="maven.classpath"
filesetid="maven.fileset">
<pom refid="maven.project" />
</artifact:dependencies>
</target>
<target name="compile" depends="init">
<mkdir dir="${build.classes}" />
<javac srcdir="${src}" destdir="${build.classes}"
classpathref="maven.classpath" />
<copy todir="${build.classes}" includeEmptyDirs="no">
<fileset dir="${res}">
<include name="**/*" />
</fileset>
</copy>
</target>
<target name="jar-all">
<mkdir dir="${dist}" />
<delete file="${dist}/${artifactId}-${version}.jar"
failonerror="false" />
<jar destfile="${dist}/${artifactId}-${version}.jar"
basedir="${build.classes}" encoding="UTF-8">
<manifest>
<attribute name="Implementation-Title"
value="${app.name}" />
<attribute name="Implementation-Version"
value="${versionNumber}" />
<attribute name="Implementation-Vendor"
value="${vendor}" />
</manifest>
</jar>
</target>
<target name="javadoc" depends="init">
<mkdir dir="${build.javadoc}" />
<javadoc packagenames="org.elitemark.commons.*"
sourcepath="${src}" defaultexcludes="yes" destdir="${build.javadoc}"
author="true" version="true" use="true" windowtitle="${app.name}"
classpathref="maven.classpath" encoding="UTF-8" docencoding="UTF-8"
header="<meta http-equiv='Content-Type' content='text/html;charset=UTF-8' />">
<doctitle>
<![CDATA[<h1>Elitemark lightweight commons API</h1>]]>
</doctitle>
<bottom>
<![CDATA[<i>Copyright © 2007-2008 www.elitemark.org All Rights Reserved.</i>]]>
</bottom>
<link href="http://www.elitemark.org/javadoc/" />
</javadoc>
</target>
<target name="build" depends="clean,compile">
<antcall target="jar-all"></antcall>
</target>
</project>
分享到:
相关推荐
还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 maven-ant-tasks.jar
通过手动配置和使用 `maven-ant-tasks-2.1.3.jar`,开发者可以在 Ant 构建环境中高效地管理依赖和执行 Maven 目标,提高开发效率。在实际项目中,根据具体的构建需求,合理运用 Maven Ant Tasks,可以大大提升开发和...
apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-...
apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-...
The Mavent Ant Tasks allow several of Maven's artifact handling features to be used from within an Ant build. These include: Dependency management - including transitive dependencies, scope ...
本文详细介绍了exec-maven-plugin的基本概念、配置方法、执行简单和系统脚本、捕获命令输出、条件执行、并发执行、使用环境变量、错误处理、高级配置、使用案例以及局限性。通过这些知识点,读者可以更加自信地在...
当开发者需要在已经使用Ant的项目中利用Maven的功能时,就会用到Maven-ant-tasks。 "Maven-ant-tasks"是一个Java库,提供了Ant任务,这些任务可以与Maven交互,如执行Maven目标、解析POM(Project Object Model)...
apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-...
apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学apache...
Maven 使用 tomcat8-maven-plugin 插件 Maven 是一个流行的构建自动化工具,它可以帮助开发者自动完成项目的编译、测试、打包、部署等任务。 Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-...
"apache-maven-3.9.0-bin.tar" 是Apache Maven 3.9.0版本的Linux二进制发行版,以tar归档格式提供。这个版本包含了运行Maven所需的所有文件,包括可执行脚本、库文件和文档。用户在Linux环境下,可以将此文件移动到...
本项目是基于Java的smart-doc-maven-plugin官方maven插件设计源码,包含43个文件,其中包括27个Java源文件、7个Markdown文档、2个JSON文件、1个gitignore文件、1个LICENSE文件、1个NOTICE文件、1个PNG图片文件、1个...
apache-maven-3.3.9.rarapache-maven-3.3.9.rarapache-maven-3.3.9.rarapache-maven-3.3.9.rarapache-maven-3.3.9.rarapache-maven-3.3.9.rarapache-maven-3.3.9.rarapache-maven-3.3.9.rarapache-maven-3.3.9....
apache-maven-3.8.8.zip压缩包内容: apache-maven-3.8.8-bin.tar.gz apache-maven-3.8.8-bin.zip apache-maven-3.8.8-src.tar.gz apache-maven-3.8.8-src.zip
10. **maven-plugin-api** 和 **maven-plugin-registry**:提供API和接口供Maven插件使用,允许开发者编写自定义插件来扩展Maven的功能。 11. **maven-core** 和 **maven-model**:Maven的核心组件,负责解析POM,...
`maven-compiler-plugin-3.8.0-source-release` 是 Maven 生态系统中不可或缺的一部分,它提供了可靠的源代码编译功能,使得开发者能够专注于编写代码,而无需关心构建过程的细节。通过理解 Maven 插件的工作原理和...
maven-deploy-plugin-2.8.2.jar
例如,maven-compiler-plugin用于编译Java源码,maven-surefire-plugin用于执行单元测试,maven-jar-plugin则负责创建JAR文件。 在实际开发中,Maven的`settings.xml`文件通常放在用户的主目录下的`.m2`目录下,它...
Apache Maven 是一个软件项目管理和理解工具。基于项目对象模型 (POM) 的概念,Maven 可以从一条中央信息中管理项目的构建、报告和文档。 压缩包内容: apache-maven-3.8.1-bin.zip、 ...apache-maven-3.8.1-src.tar.gz
maven-jar-plugin-3.1.1.jar