您的位置:首页 > 编程语言 > Java开发

用mvn管理的eclipse项目 用ant生成可直接部署的web目录 方便开发

2012-09-10 11:09 513 查看
build.xml

<?xml version="1.0" encoding="UTF-8"?>

<project name="lib" default="make-tomcat-web-dir" basedir="." xmlns:artifact="urn:maven-artifact-ant">
<property name="maven.ant.tasks.jar" value="maven-ant-tasks-2.1.3.jar" />
<property name="web.dir" value="${basedir}/web" />
<property name="web.src.dir" value="${basedir}/src/main/webapp" />
<property name="classes.src.dir" value="${basedir}/target/classes" />
<property name="classes.dir" value="${web.dir}/WEB-INF/classes" />

<delete dir="${web.dir}" />
<mkdir dir="${web.dir}" />
<target name="make-tomcat-web-dir" depends="download-libs">
<echo message="make tomcat runtime dir" />

<artifact:mvn mavenversion="3.0.4" pom="${basedir}/pom.xml">
<arg value="package" />
</artifact:mvn>

<copy todir="${web.dir}/">
<fileset dir="${web.src.dir}" includes="**/*" />
</copy>
<!--
<copy todir="${classes.dir}">
<fileset dir="${classes.src.dir}" includes="**/*" />
</copy>-->
</target>

<target name="download-libs" depends="-init-maven-task">

<echo message="download all jars with Maven2...." />
<echo message="some warning like [CHECKSUM ERROR] can be ignored...." />

<artifact:pom file="pom.xml" id="maven.project" />
<artifact:dependencies filesetId="runtime.fileset" useScope="runtime">
<pom refid="maven.project" />
</artifact:dependencies>

<!--复制maven中scope为runtime的jar到WEB-INF-->
<copy todir="${web.dir}/WEB-INF/lib">
<fileset refid="runtime.fileset" />
<mapper type="flatten" />
</copy>

</target>

<target name="-init-maven-task" depends="-obtain-maven-task-jar">
<available property="maven.ant.tasks.jar.exists" file="${maven.ant.tasks.jar}" />
<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant" classpath="${maven.ant.tasks.jar}" />
</target>

<target name="-obtain-maven-task-jar">
<available property="maven.ant.tasks.jar.exists" file="${maven.ant.tasks.jar}" />
<antcall target="download-maven-jar" />
</target>

<target name="download-maven-jar" unless="maven.ant.tasks.jar.exists">
<property name="maven.ant.tasks.url" value="http://www.apache.org/dist/maven/binaries/${maven.ant.tasks.jar}" />
<get src="${maven.ant.tasks.url}" dest="${maven.ant.tasks.jar}" />
</target>
</project>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐