`

Maven-Ant-Task 使用手记

    博客分类:
  • java
阅读更多
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="&lt;meta http-equiv='Content-Type' content='text/html;charset=UTF-8' /&gt;">
			<doctitle>
				<![CDATA[<h1>Elitemark lightweight commons API</h1>]]>
			</doctitle>
			<bottom>
				<![CDATA[<i>Copyright &#169; 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>

6
1
分享到:
评论

相关推荐

    maven-ant-tasks.jar

    还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 maven-ant-tasks.jar

    maven-ant-tasks-2.1.3.zip

    通过手动配置和使用 `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-maven-3.6.3-bin。apache-...

    apache-maven-3.8.6.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-maven-3.8.6-bin.zip apache-...

    maven-ant-tasks-2.1.3-src

    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 ...

    Maven exec-maven-plugin:执行外部命令的实践指南

    本文详细介绍了exec-maven-plugin的基本概念、配置方法、执行简单和系统脚本、捕获命令输出、条件执行、并发执行、使用环境变量、错误处理、高级配置、使用案例以及局限性。通过这些知识点,读者可以更加自信地在...

    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-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-3.6.1.zip分享给需要的同学apache...

    Maven使用tomcat8-maven-plugin插件.docx

    Maven 使用 tomcat8-maven-plugin 插件 Maven 是一个流行的构建自动化工具,它可以帮助开发者自动完成项目的编译、测试、打包、部署等任务。 Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-...

    maven-ant-tasks:Apache Maven ant任务的镜像

    当开发者需要在已经使用Ant的项目中利用Maven的功能时,就会用到Maven-ant-tasks。 "Maven-ant-tasks"是一个Java库,提供了Ant任务,这些任务可以与Maven交互,如执行Maven目标、解析POM(Project Object Model)...

    apache-maven-3.3.9.rar

    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.9.0-bin.tar

    "apache-maven-3.9.0-bin.tar" 是Apache Maven 3.9.0版本的Linux二进制发行版,以tar归档格式提供。这个版本包含了运行Maven所需的所有文件,包括可执行脚本、库文件和文档。用户在Linux环境下,可以将此文件移动到...

    apache-maven-3.8.8.zip

    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

    apache-maven-3.6.0.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-compiler-plugin-3.8.0-source-release` 是 Maven 生态系统中不可或缺的一部分,它提供了可靠的源代码编译功能,使得开发者能够专注于编写代码,而无需关心构建过程的细节。通过理解 Maven 插件的工作原理和...

    apache-maven-3.9.6-bin

    例如,maven-compiler-plugin用于编译Java源码,maven-surefire-plugin用于执行单元测试,maven-jar-plugin则负责创建JAR文件。 在实际开发中,Maven的`settings.xml`文件通常放在用户的主目录下的`.m2`目录下,它...

    maven-site-plugin和 maven-scr-plugin同时使用时site plugin不能删除target中OSGI-INF\\serviceCo

    当maven-site-plugin和maven-scr-plugin同时使用时,可能遇到的问题是,site plugin试图清理target目录以准备生成新的站点文档,但因为maven-scr-plugin生成的服务元数据(通常位于target/OSGI-INF/serviceComposite...

    maven集成jetty所需jar包maven-jetty-plugin,多版本

    - 使用旧版本的`maven-jetty-plugin`可能会导致某些新特性无法使用或与其他库冲突,因此保持插件更新是很重要的。 6. 结论: `maven-jetty-plugin`简化了Java Web应用的开发和测试过程,通过Maven的命令行即可...

    maven-jar-plugin-3.1.1.jar

    maven-jar-plugin-3.1.1.jar

Global site tag (gtag.js) - Google Analytics