`

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包:maven-ant-tasks-2.1.3.jar 手动下载配置,解决国外源下载速度慢的问题

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

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

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

    maven资源 apache-maven-3.3.9-bin.zip

    maven资源 apache-maven-3.3.9-bin.zip

    apache-maven-3.6.3-bin.zip

    apache-maven-3.6.3-bin.zip maven3,6版本, 可用apache-maven-3.6.3-bin.zip maven3,6版本, 可用apache-maven-3.6.3-bin.zip maven3,6版本, 可用apache-maven-3.6.3-bin.zip maven3,6版本, 可用apache-maven-3.6.3-...

    maven-deploy-plugin-2.8.2.jar

    maven-deploy-plugin-2.8.2.jar

    apache-maven-3.9.6-bin

    apache-maven-3.9.6-bin

    maven-jar-plugin-3.1.1.jar

    maven-jar-plugin-3.1.1.jar

    apache-maven-3.8.1.zip

    Apache Maven 是一个软件项目管理和理解工具。基于项目对象模型 (POM) 的概念,Maven 可以从一条中央信息中管理项目的构建、报告和文档。 压缩包内容: apache-maven-3.8.1-bin.zip、 ...apache-maven-3.8.1-src.tar.gz

    maven-shared-utils-3.2.1.jar

    maven-shared-utils-3.2.1.jar

    maven-compiler-plugin-3.8.1.jar

    maven是个项目管理工具,如果我们不告诉它我们的代码要使用什么样的jdk版本编译的话,它就会用maven-compiler-plugin默认的jdk版本来进行处理,这样就容易出现版本不匹配,以至于可能导致编译不通过的问题。...

    maven-antrun-plugin-3.0.0.jar

    maven-antrun-plugin-3.0.0.jar

    tomcat-maven-plugin

    maven-tomcat-plugin让maven与tomcat配合得很好。它可以把应用部署到Tomcat服务器,也可以把tomcat作为内嵌服务器启动,就像jetty一样。 使用JPDA启动tomcat的远程调试功能。这样就能与eclipse配合起来,轻松地实现...

    apache-maven-3.5.3-bin.zip apache-maven-3.6.0-bin.tar.gz win linux合集

    apache-maven-3.5.3-bin.zip apache-maven-3.6.0-bin.tar.gz win linux合集,欢迎下载!

    apache-maven-3.6.1 安装包

    apache-maven-3.6.1-bin

Global site tag (gtag.js) - Google Analytics