ant1.9.4之编译、打包、发布、清理
ant的官方手册 http://ant.apache.org/manual/index.html
之前一直在有用ant 比在linux用make好用多了 当然和maven比 感觉还是差了一点 感觉好像maven和ant的侧重点稍微有点不一样 所以会有这种感觉吧 记录学习的脚步吧
比较有用的就是通配符 * ? ** 含义如下
'*' matches zero or more characters, '?' matches one character.
When ** is used as the name of a directory in the pattern, it matches zero or more directories下面是ant的编译 打包 发布 清理常见的几个任务的一个集合 该解释的地方build.xml中 都解释了 就不多说了 直接看build.xml文件吧
<?xml version="1.0" encoding="UTF-8"?>
<!-- ================================================ -->
<!-- Sample buildfile for jar components -->
<!-- -->
<!-- ================================================ -->
<project name="HelloWorld" basedir=".">
<!-- 定义属性 -->
<property name="src.dir" value="${basedir}\src" />
<!-- 访问操作系统的环境变量 -->
<property environment="env" />
<!-- 设置jboss的目录 -->
<property name="jboss.home" value="${env.JBOSS_HOME}"/>
<!-- 设置jboss的服务器名 -->
<property name="jboss.server.home" value="standalone" />
<property name="dep" value="deployments" />
<property name="build.dir" value="${basedir}\build" />
<!--构建path路径 -->
<path id="build.classpath">
<fileset dir="${basedir}\lib">
<include name="*.jar" />
</fileset>
<!--<pathelement location="${build.dir}" /> -->
</path>
<!-- - - - - - - - - - - - - - -->
<!-- target: init -->
<!-- - - - - - - - - - - - - - -->
<target name="init">
<delete dir="${build.dir}"></delete>
<mkdir dir="${build.dir}"></mkdir>
</target>
<!-- ========================= -->
<!-- target: compile -->
<!-- ========================= -->
<target name="compile" depends="init"
description="--> compile this component" >
<!-- 编译src目录下以com开头的所有子包中的类
'*' matches zero or more characters, '?' matches one character.
When ** is used as the name of a directory in the pattern, it matches zero or more directories
-->
<javac srcdir="${src.dir}" destdir="${build.dir}" includes="com/**" includeAntRuntime="false">
<classpath refid="build.classpath" />
</javac>
</target>
<!-- 打包 -->
<target name="ejbjar" depends="compile" description="打包ejb">
<jar jarfile="${basedir}\${ant.project.name}.jar">
<fileset dir="${build.dir}">
<!-- 将build目录下的所有已class结尾的文件打包进去 -->
<include name="**/*.class"></include>
</fileset>
<!--将src目录下的META-INF目录下的文件打包进去 -->
<metainf dir="${src.dir}\META-INF"></metainf>
</jar>
</target>
<!-- 部署 -->
<target name="delopy" depends="ejbjar" description="部署ejb">
<copy file="${basedir}\${ant.project.name}.jar" todir="${jboss.home}\${jboss.server.home}\${dep}\" />
</target>
<!-- 卸载ejb -->
<target name="undeploy" description="卸载ejb">
<delete file="${jboss.home}\${jboss.server.home}\${dep}\${ant.project.name}.jar"></delete>
</target>
<!-- 打包接口 -->
<target name="package_inter" depends="compile" description="打包接口">
<jar jarfile="${basedir}\${ant.project.name}Interface.jar">
<fileset dir="${build.dir}">
<!-- 将build目录下中impl目录下的已class结尾的文件不打包进去 -->
<exclude name="**/impl/*.class"></exclude>
</fileset>
</jar>
</target>
<!-- 删除生成的class和打包的文件 -->
<target name="clean" description="清除项目">
<delete dir="${build.dir}"></delete>
<delete file="${basedir}\${ant.project.name}.jar"></delete>
<delete file="${basedir}\${ant.project.name}Interface.jar"></delete>
</target>
</project>
java文件就不写了 根据需要修改即可 上面的build.xml
至于还有不清楚的 看上面贴的那个路径 去那里面找到相关的内容 去看 就可以了
posted on 2014-11-01 22:22 liangxinzhi 阅读(487) 评论(0) 收藏 举报
浙公网安备 33010602011771号