`
javado
  • 浏览: 8248 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

弄个build.xml玩玩

阅读更多
<?xml version="1.0"  encoding="GB2312" ?>
<project name="projectname" default="war" basedir=".">
 <!--
  ===================================================================
  定义属性(property tasks)
  最好把用到的路径呀,名称呀都在这里定义成全局变量
  例:定义
  <property name="a" value="hello"/>
  以后就可以这样用它:
  <property name="b" value="${a}/b"/>
  现在:b=="hello/b"
  ===================================================================
 -->
 <!--主要的系统环境属性-->
 <property environment="env" /><!--取window,unix...的环境变量-->
 <property name="java.home" value="${env.JAVA_HOME}" />
 <!--主要的app环境属性-->
 <property name="app.name" value="yourappname" />
 <property name="app.jar" value="${app.name}.jar" />
 <property name="app.war" value="${app.name}.war" />
 <property name="app.copyright"
  value=" Copyright (c) 2010 GLOBAL-SAFETY Software Foundation.  All rights reserved." />
 <!--app中src的属性-->
 <property name="src.dir" value="src" />
 <property name="classSavePath" value="web/WEB-INF/classes" />
 <!--app用到的lib-->
 <property name="lib.dir" value="web/WEB-INF/lib" />
 <!--app的build目录中-->
 <property name="build.dir" value="./output" />
 <property name="build.classes" value="${build.dir}/classes" />
 <property name="build.lib" value="web/WEB-INF/lib" />
 <property name="war.dir" value="${build.dir}/war" />
 <property name="warsource.dir" value="web" />
 <!--
  定义一组路径以后可以通过id重用这组路径 ,例:
  <javac srcdir="src/main" destdir="build/classes">
  <classpath refid="classpath"/>
  </javac>
 -->
 <path id="classpath">
  <fileset dir="${lib.dir}">
   <include name="**/*.jar" />
   <include name="*.zip" />
  </fileset>
  <fileset dir="${java.home}/lib">
   <include name="**/*.jar" />
   <include name="*.zip" />
  </fileset>
 </path>
 <!--
  ===================================================================
  init 准备目录(File Tasks)
  主要的目录结构通常是不会变的,一起生成他们
  ===================================================================
 -->
 <target name="init">
  <echo message="环境信息:" />
  <echo message="JAVA_HOME:${java.home}" />
  
  <!--清除以前目录-->
  <delete dir="${build.dir}" failonerror="false" />
  <delete dir="${classSavePath}" failonerror="false" />
  <!--准备目录-->
  <mkdir dir="${build.dir}" />
  <mkdir dir="${classSavePath}" />
 </target>
 <!--
  ===================================================================
  Build the code (Compile Tasks,File Tasks)
  ===================================================================
 -->
 <target name="build" depends="init">
  <!--编译-->
  <javac srcdir="${src.dir}" destdir="${classSavePath}"
   encoding="UTF-8" fork="true" memoryMaximumSize="1024m">
   <classpath refid="classpath" />
  </javac>
  <copy todir="${classSavePath}" includeemptydirs="false">
   <fileset dir="${src.dir}">
    <include name="**/*.properties" />
    <include name="**/*.xml" />
    <include name="**/*.xsl" />
   </fileset>
  </copy>
 </target>
 <!--
  ===================================================================
  打war包
  ===================================================================
 -->
 <target name="war" depends="build" description="生成war包">
  <echo message="正在打war包,请稍候..." />
  <war destfile="${build.dir}/${app.war}" encoding="gb2312"
   webxml="${warsource.dir}/WEB-INF/web.xml">
   <fileset dir="${warsource.dir}">
    <exclude name="build.xml" />
    <exclude name="**/web.xml" />
   </fileset>
  </war>
  <echo message="打war包结束" />
 </target>
 
 <!--
  ===================================================================
  快速(依靠原工程编译文件)打war包
  ===================================================================
 -->
 <target name="quick-war" depends="" description="生成war包">
  <echo message="非重新build打war包(请保证您的工程$/web/WEB-INF/classes已有下编译类),请稍候..." />
  <war destfile="${build.dir}/${app.war}" encoding="gb2312"
   webxml="${warsource.dir}/WEB-INF/web.xml">
   <fileset dir="${warsource.dir}">
    <exclude name="build.xml" />
    <exclude name="**/web.xml" />
   </fileset>
  </war>
  <echo message="打war包结束" />
 </target>
 
</project>

如果想要把代码打成jar包的形式应如下处理:
	<target name="jar" depends="build">
		<echo message="正在打jar包,请稍候..." />
		<jar basedir="${classSavePath}"
			jarfile="${build.lib}/${app.jar}" />
	</target>

写的有点乱,大家凑合看吧!~~
0
0
分享到:
评论

相关推荐

    Struts in Action中文版

    3. 构建一个简单应用....................................................................................60 3.1. 被支柱支撑的支柱......................................................................

    struts in Action

    3. 构建一个简单应用....................................................................................60 3.1. 被支柱支撑的支柱............................................................................

    crm-demo:关于如何使用 Angular.js 和 Java EE 6(JAX-RS 和 JPA 2.0)编写 Web 应用程序的简单演示

    您还可以创建一个名为 build.properties 的文件并添加一行“deploy.dir=.../standalone/deployments”,其中三个点应替换为应用程序服务器的路径。 之后,您只需运行 Ant,它将依次执行 maven 构建并为您部署应用...

    FreeJ2ME:适用于 Windows、Linux 和 Raspberry Pi 的 J2ME 模拟器-开源

    Java 部分可以使用 Apache Ant 和所提供的 build.xml 文件构建。 可以使用 build.sh 脚本构建 Libretro 核心。 包括用于 RetroPie 的 Libretro 核心的安装说明。 按照这里的开发过程:...

    Android小部件Widget开发过程中的坑和问题小结

    切记里面的字母不要弄错,最好复制粘贴再修改相对应自定义的地方就好,一个字母的错误搞了我一天,吐血 &lt;receiver android:name=.desktop.DesktopWidget&gt; &lt;meta-data android:name=android.appwidget.provider...

    2048Game:尝试使用 Java Swing for GUI 在 Java 中重新创建流行的 2048 游戏

    2048游戏 尝试使用 Java Swing for GUI 在 Java 中重新创建流行的 2048 游戏 玩: 下载 Zip 格式的 master 分支...cd 到根目录(build.xml 所在的位置) 运行ant compile或简单的ant cd 到 bin 运行java logic.Game

    Android插件

    我们做项目的时候,并不是所有文 件都是要提交的,比如构建的build 文件夹,本地配置文件,每个Module 生成的iml 文件,但是我们每次add,commit 都会不小心把它们添加上去,而gitignore 就是解决这种痛点的,如果你...

    LogFileArchiver

    右键单击“pom.xml”并选择“Run As-&gt;Maven Build as...”作为目标放置“package”然后您应该会在目标目录中看到“logfilearchiver-XXXwar”只需将其复制到您的JBoss部署dir 和你是 gtg(很好) 如果某些东西不起...

    LCRapidDevelop-master

    首先layout.xml里面的编写啦 列表页面基本都是这个套路 ``` &lt;!--ProgressActivity用于状态页的控制 比如加载中 网络异常 无数据 适合任何页面--&gt; &lt;com.xiaochao.lcrapiddeveloplibrary.viewtype....

    tinyui:一个微型UI宏,用于将xml文件中声明的ui项注入到haxe类中。 受到stablexui的启发。 与OpenFL一起使用

    只有一个@:build宏文件 跨平台 非常简单:仅将xml中声明的UI转换为haxe代码。 不使用反射 透明地从ui访问代码和从ui访问代码 非常强大-参见 非常稳定 因为它是如此简单(仅将xml视图转换为简单的haxe代码) tiny...

    Report machine 2.4

    - TRMFormReport增加一个事件OnPrintObject,在这个事件内程序员可自行编制 TRMFormReport不直接支持打印的任意控件;; - 请注意:TRMDBGridReport,TRMwwDBGridReport等已不再维护,因为TRMFormReport 具有以上...

    TS4ControlAnySim:Mod for The Sims 4可以控制任何NPC Sims

    要在对其中一个python模块进行修改后构建脚本包,请运行./build.sh。 这将编译所有模块,并将它们捆绑到ts4script文件中。 调优和资源包 最好使用s4pe或S4Studio编辑TS4资源package文件。 可以使用您选择的文本编辑...

    rm2.6正式版本

    &lt;br&gt; v.2.1(Build 2001/11/29) - 修正了几个BUG. &lt;br&gt; v.2.1(Build 2001/11/22) - 修正了几个BUG. - 增加多语言功能. &lt;br&gt; v.2.1(Build 2001/11/15) - 修正了几个BUG. &lt;br&gt; v.2.1...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    JAVA上百实例源码以及开源项目

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

Global site tag (gtag.js) - Google Analytics