`
carel
  • 浏览: 2340 次
  • 性别: Icon_minigender_2
  • 来自: 兰州
最近访客 更多访客>>
社区版块
存档分类
最新评论

ant 打包总结

ant 
阅读更多

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

<project basedir="." default="appbuild" name="MyApp">

<property file="build.properties" />

 

<!--编译classpath设置 -->

<path id="build.classpath">

<fileset dir="WebRoot/WEB-INF/lib">

<include name="**/*.jar" />

</fileset>

<pathelement path="${webapp.build.classesdir}" />

</path>

 

<!-- 以下代码为自动打包 -->

<target name="appbuild" depends="ant">

<echo message="生成产品安装包..." />

<!--放入运行包-->

<copy file="${webapp.output}/${webapp.version}.tar.gz" todir="${webapp.output}" failonerror="true" />

</target>

 

<!-- 清除文件夹 编译build、output安装包-->

<target name="clean">

<delete dir="${webapp.build}" />

<delete dir="${webapp.output}" />

<mkdir dir="${webapp.build}" />

<mkdir dir="${webapp.output}" />

</target>

 

<!-- jetty解包-->

<target name="untarjetty">

<gunzip src="${webapp.jetty}.gz" dest="${webapp.output}" />

<untar src="${webapp.output}/MyApp.tar" dest="${webapp.output}/install" overwrite="true" />

<delete file="${webapp.output}/MyApp.tar">

</delete>

</target>

 

<!-- java源码编译-->

<target name="compile">

<mkdir dir="${webapp.build.classesdir}" />

 

<javac debug="on" deprecation="yes" destdir="${webapp.build.classesdir}"  includes="**" optimize="on" srcdir="src">

<classpath refid="build.classpath" />

<compilerarg line="-encoding UTF-8 " />

</javac>

</target>

 

<!-- 编译打包-->

<target name="webbuild" depends="clean,untarjetty,compile">

<copy todir="${webapp.output}/install/db_script">

<fileset dir="${webapp}/db_script/"></fileset>

</copy>

 

<mkdir dir="${webapp.output.webctx}" />

<touch file="${webapp.output.webctx}/${webapp.version}.version"/>

<!-- 拷贝原工程下的webroot到待打包的目录-->

<copy todir="${webapp.output.webctx}">

<fileset dir="${webapp.src.WebRoot}/">

</fileset>

</copy>

 

<!-- 拷贝源码编译后的相关class和resource配置文件到待打包的目录-->

<copy todir="${webapp.output.webctx}/WEB-INF/classes/">

<fileset dir="${webapp.build.classesdir}">

<exclude name="**/*.src" />

</fileset>

 

<fileset dir="${webapp}/conf">

<include name="**/*.properties" />

<include name="**/*.xml" />

<include name="**/*.txt" />

</fileset>

</copy>

 

<!-- jar拷贝-->

<copy todir="${webapp.output.webctx}/WEB-INF/lib">

<fileset dir="${webapp.lib}" />

</copy>

 

<!-- 源码conf配置文件拷贝到打包的jetty目录-->

<delete dir="${webapp.output}/conf">

</delete>

<copy todir="${webapp.output}/install/MyApp-jetty/MyApp/conf" overwrite="true">

<fileset dir="${webapp}/MyApp/conf">

<exclude name="**/*.svn" />

</fileset>

</copy>

</target>

 

<!-- 配置文件xml拷贝-->

<target name="ant" depends="webbuild">

<!--生成WAR包-->

<zip destfile="${webapp.output}/MyApp.war" basedir="${webapp.output.webctx}" encoding="UTF-8" />

 

<delete dir="${webapp.output.webctx}/WEB-INF/lib/WEB-INF" />

<tar destfile="${webapp.output}/${webapp.version}.tar">

<tarfileset dir="${webapp.output}/install" preserveLeadingSlashes="true">

</tarfileset>

</tar>

<gzip destfile="${webapp.output}/${webapp.version}.tar.gz" src="${webapp.output}/${webapp.version}.tar" />

<delete file="${webapp.output}/${webapp.version}.tar" />

<delete dir="${webapp.output}/install" />

<delete dir="${webapp.build}" />

</target>

</project>

 

build.properties:

 

appname=myApp

###########################################################

#fuc global variables

###########################################################

webapp=${basedir}

webapp.version=DEPGM_V100R001B03

webapp.main=${webapp}/src/

webapp.java=${webapp.main}

webapp.test=${webapp}/test/

webapp.src.confpath=${webapp}/conf

webapp.src.WebRoot=${webapp}/WebRoot

webapp.build=${webapp}/build

webapp.script=${webapp}/tools/deploy_script

webapp.table=${webapp}/tools/configureTable

webapp.build.classesdir=${webapp.build}/classes

webapp.build.test.classesdir=${webapp.build}/test/classes

webapp.jetty=${basedir}/tools/myApp.tar

webapp.lib=${webapp.src.WebRoot}/WEB-INF/lib

 

webapp.output=${webapp}/output

webapp.output.software=${webapp.output}/software

webapp.output.webctx=${webapp.output}/install/myApp-jetty/webapps/myApp

app.tools=${basedir}/tools

 

compile.debug=true

compile.optimize=true

compile.encoding=UTF-8

compile.deprecation=false

分享到:
评论

相关推荐

    ant 打包 java project 为ant

    标题中的“ant打包java project为jar”指的是使用Apache Ant工具将Java项目打包成JAR(Java Archive)文件的过程。Ant是Java开发中的一个构建工具,它以XML格式定义任务,可以自动化编译、测试、打包等流程。在这个...

    ant打包Web工程

    本文将深入探讨“ant打包Web工程”这一主题,基于提供的标签“源码”和“工具”,我们将围绕Apache Ant这个强大的Java构建工具进行讲解。 Apache Ant是一个开源的Java构建工具,它以XML格式定义了构建过程,使得...

    使用ant打包android

    总结,使用Ant打包Android应用涉及到了Java和Android开发的基础知识,包括环境配置、构建脚本、编译过程、资源处理、APK打包和签名。虽然现代的Android项目多采用Gradle,但了解Ant可以帮助开发者更好地理解和控制...

    ant打包详细教程

    总结来说,Ant是一个强大且灵活的构建工具,通过学习和实践,你可以有效地自动化项目的构建过程,提高开发效率。通过阅读提供的文档和教程,你将能够熟练地运用Ant进行打包操作,并深入理解其背后的原理和机制。

    Ant 打包工程

    ### Ant打包过程 1. **编译**:首先,Ant会编译源代码。在上面的例子中,`javac`任务被用来编译`src`目录下的Java源文件到`build/classes`目录。 2. **创建JAR**:编译完成后,`jar`任务用于将编译后的类文件打包成...

    ant打包工具

    **Ant打包工具详解** Ant是Apache软件基金会Jakarta项目下的一个构建工具,它以其灵活性和可扩展性在Java开发领域中被广泛应用。Ant基于XML,它的主要任务是编译源代码、创建JAR文件、执行测试、部署应用程序等。...

    ant打包

    总结来说,"ant打包"是使用Apache Ant工具对Java项目进行编译、打包的过程,这通常涉及到编写XML格式的构建文件,定义一系列构建任务,并可能包含自定义规则来满足项目特有的需求。Ant作为一款源码级别的构建工具,...

    ant打包部署工具,官方下载

    总结来说,Ant是一个强大的Java项目构建工具,它简化了项目构建过程,提供了编译、打包、测试等一系列功能,且具备高度的可定制性和扩展性。对于Java开发者而言,掌握Ant的使用对于提升开发效率和项目维护性具有重要...

    Ant打包 Hibernate配置 实例

    总结起来,Ant和Hibernate的结合使用为Java开发提供了一种高效且灵活的解决方案。通过Ant进行项目构建管理,利用Hibernate处理数据持久化,我们可以创建出结构清晰、易于维护的项目。在提供的“HibernateNote”文件...

    SpringMVC 多版本接口/IP访问控制/ANT打包发布到LINUX

    1. 使用SCP或SFTP将ANT打包生成的文件传输到Linux服务器的指定目录。 2. 使用SSH登录服务器,切换到部署目录。 3. 运行解压命令(如tar -zxvf 或 unzip)解压文件。 4. 如果是Tomcat等应用服务器,需要将解压后的...

    Android ANT批量打包教程及所有资源文件

    总结来说,通过ANT进行Android应用的批量打包,可以极大地提高开发效率,特别是在多渠道分发时。了解并熟练掌握ANT的使用,对于Android开发者来说是一项重要的技能。通过上述步骤和注意事项,你可以轻松地管理自己的...

    通过ant打包

    **Ant打包流程** Ant的核心在于它的build.xml文件,这是整个构建过程的配置文件。在这个文件中,你可以定义各种任务(tasks),包括编译源代码、创建JAR或WAR文件、复制资源文件等。下面是一般打包过程的关键步骤:...

    ant批量打包

    总结来说,Ant批量打包Android应用涉及到Android数字证书的生成、签名过程以及Ant构建脚本的配置。开发者需要掌握Java的数字证书机制,理解Ant工具的使用,以及如何根据不同的发布需求调整打包脚本。通过熟练掌握...

    SVN+ant 服务器代码打包编译流程详解,内含详细安装以及操作说明

    总结来说,SVN+ant的组合提供了一种强大的代码管理和自动化构建解决方案。SVN帮助团队协作并追踪代码变更,而Ant则通过XML脚本实现了编译、打包等任务的自动化。通过合理配置build.xml和build.properties,你可以...

    ant 1.8.4 tar打包中文名不乱吗

    总结来说,Ant 1.8.4的更新增强了其处理中文文件名的能力,使得在tar打包过程中可以避免中文乱码问题,这对于有中文元素的项目具有重大意义。配合`packsrc.bat`和`packsrc.xml`这样的工具和配置文件,用户可以方便地...

    关于Ant多渠道批量打包总结

    本篇文章将深入探讨Ant如何实现多渠道批量打包,以及相关知识点。 **Ant简介** Apache Ant是一个基于Java的构建工具,其设计灵感来源于Make,但使用XML来描述构建过程。Ant通过任务(task)来执行不同的操作,如编译...

    ant打包及整合质量控制插件

    总结来说,Ant作为一个强大的构建工具,可以方便地管理项目的构建过程,同时通过整合质量控制插件,确保代码质量和一致性。通过合理配置`build.properties`、`build.xml`和`ci_build.xml`,我们可以实现自动化、高效...

    使用Ant打包 来调用properties 文件

    总结来说,Ant是一个强大的构建工具,它可以方便地集成和管理项目的构建过程。通过调用properties文件,我们可以实现配置的灵活管理和共享,使得构建过程更加适应各种环境和需求。无论是简单的Java项目还是复杂的...

    ant多渠道打包配置示例

    总结来说,"ant多渠道打包配置示例"是一个利用Apache Ant工具进行高效、灵活的Android应用打包过程的实例。它涉及到Ant脚本的编写,包括目标定义、任务执行、文件操作(如替换、签名、zipalign)以及多渠道的管理。...

Global site tag (gtag.js) - Google Analytics