`
newslxw
  • 浏览: 208269 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

一个完整的打包jar的ant文件

阅读更多
<?xml version="1.0"?>
<project default="publish" basedir=".">
	
	 <property name="jar.name" value="posclient.jar" />
	 <!-- base directory for distribution target -->
	 <property name="dist.home" value="dist" />
	 <!-- base directory for compilation targets -->
	 <property name="build.home" value="target" />
	 <!-- The base directory for all libraries (jar) files -->
	 <property name="lib.home" value="lib" />      
	 <property name="publishdir" value="d:/posclient" />    
	 <property name="mainclass" value="datasync.win.MainWin" />      
	
	<path id="project.class.path">
	  <fileset dir="${lib.home}">
	  <include name="*.jar"/>
	  </fileset>
	</path>

	
	<target name="clean" >                  
		<delete dir="${build.home}"/>	     
		<delete dir="${dist.home}"/>    
		<delete dir="${publishdir}/*"/>
	</target>
	
	<target name="compile" depends="clean">                  
		 <mkdir dir="${build.home}"/>                 
		 <mkdir dir="${dist.home}"/>           
		 <mkdir dir="${publishdir}"/>         
		 <javac srcdir="src" destdir="${build.home}">
		 	<classpath refid="project.class.path" />
		 </javac>
		<copy todir="${build.home}" >
			<fileset dir="src" >
			    <exclude name="**/*.java"/>
			</fileset>
		</copy>
	</target>
	
	
	<target name="jar" depends="compile" description="Create jar and MANIFEST.MF">                  
	   <!-- create a property containing all .jar files, prefix lib/, and seperated with a space -->
	   <pathconvert property="libs.project" pathsep=" ">                                            
	     <mapper>                                                                                   
	       <chainedmapper>                                                                          
	         <!-- remove absolute path -->                                                          
	         <flattenmapper />                                                                      
	         <!-- add lib/ prefix -->                                                               
	         <globmapper from="*" to="*" />                                                     
	       </chainedmapper>                                                                         
	     </mapper>                                                                                  
	     <path>                                                                                     
	       <!-- lib.home contains all jar files, in several subdirectories -->                      
	       <fileset dir="${lib.home}">                                                              
	         <include name="*.jar" />                                                            
	       </fileset>                                                                               
	     </path>                                                                                    
	   </pathconvert>                                                                               
	   <!-- create the jar -->                                                                      
	   <jar jarfile="${dist.home}/${jar.name}" basedir="${build.home}">                    
	     <!-- define MANIFEST.MF -->                                                                
	     <manifest>                                                                                 
	       <attribute name="Built-By" value="${user.name}" />                                       
	       <attribute name="Main-Class" value="${mainclass}" />                  
	       <section name="common">                                                                  
	         <attribute name="Specification-Title" value="${component.name}" />                     
	         <attribute name="Specification-Version" value="${component.version}" />                
	         <attribute name="Specification-Vendor" value="${component.vendor}" />                  
	         <attribute name="Implementation-Title" value="${component.name}" />                    
	         <attribute name="Implementation-Version" value="${component.version} ${TODAY}" />      
	         <attribute name="Implementation-Vendor" value="${component.vendor}" />                 
	       </section>                                                                               
	       <!-- finally, use the magically generated libs path -->                                  
	       <attribute name="Class-Path" value="${libs.project}" />                                  
	     </manifest> 
	   			<exclude name="conf/client.properties"/>
	   			<exclude name="log4j.properties"/>
	   </jar>    
		
	 </target>                                                                                      
	        
	<target name="publish" depends="jar" >
		<copy todir="${publishdir}/lib" >
			<fileset dir="${lib.home}" >
			    <include name="*.jar"/>
			</fileset>
		</copy>
		<copy todir="${publishdir}/dist"  file="${dist.home}/${jar.name}"/>
		<copy todir="${publishdir}/dist/conf"  file="${build.home}/conf/client.properties"/>
		<copy todir="${publishdir}/dist/conf"  file="${build.home}/log4j.properties"/>
		<copy todir="${publishdir}/lib"  file="${dist.home}/${jar.name}"/>
		<copy todir="${publishdir}/lib/conf"  file="${build.home}/conf/client.properties"/>
		<copy todir="${publishdir}/lib/conf"  file="${build.home}/log4j.properties"/>
	</target>
	
	
	
</project>
分享到:
评论

相关推荐

    ANT打包可执行JAR包脚本

    非maven项目中的ANT打包可执行JAR包脚本,包括配置文件、第三方jar打包

    java ant打包jar

    ant做编辑部署打包比较方便,特别是打包,善于把文件搬来搬去。不想集成IDE那样笨重,有个文本

    ant.jar解压tar包支持中文文件名称

    使用ant.jar工具通过java程序来解压tar包文件,支持中文文件名。

    ant.jar________打包工具

    Java压缩文件 Java压缩文件 Java压缩文件 Java压缩文件 Java压缩文件 ant.jar

    ant打包jar文件脚本分享

    本文介绍的ant脚本是用来打包jar文件,做完JAVA应用一定会用到这个,需要的朋友可以参考下

    Java打包插件(fatjar)

    Java打包插件,解压后是一个plugins的文件夹,里面只有一个文件夹,fatjar_0.0.31.jar将它copy到Eclipser plugins文件夹下,此插件就安装成功了,重启Eclipse在项目上右击就会看到多出一个“Build Fat Jar”在前面有...

    struts2 _ant.jar 文件打包下载

    补充我以前上传的资源的不足,进行了进一步的扩展升级

    ant编译的文件要在eclipse中编译需要的jar文件

    Tomcat正是以Ant作为编译工具,要在eclipse中编译Tomcat,必须要用的六个jar文件。

    把jsp编译打包成jar

    将工程中的jsp编译成servlet后打成一个jar包,并且自动生成web.xml中的servlet配置。

    【Ant】Ant实例(1)一个Java文件依赖于某jar包,需要打包部署

    NULL 博文链接:https://chris-wang.iteye.com/blog/309829

    用ANT来编译打包Eclipse插件

    用Eclipse IDE可以自动生成ANT的build文件,但是该文件的路径名移植性太差。当应用hudson一类的自动化平台来构建Eclipse插件时,不能直接调用ANT工具来编译。本工具自动修改Eclipse的路径为 ${ECLIPSE_HOME},并且...

    ant学习打包代码

    -- 创建一个.jar夹--&gt; &lt;!--设置时间格式的有${TSTAMP}/${TODAY}--&gt; &lt;jar destfile="${dist}/package1-${TODAY}.jar" basedir="${compile}"&gt; &lt;!--user.name是操作系统的用户名--&gt; ${user.name}...

    Ant基本应用教程学习

    目录 ANT简介 安装Apache Ant 验证Apache Ant的安装 安装 Eclipse Ant构建文件 Ant属性任务 ...Ant创建JAR文件 Ant创建WAR文件 Ant打包应用 Ant部署应用程序 Ant执行Java代码 Ant和Eclipse集成 Ant Junit集成

    将项目打成jar包

    打包:将编译后的*.calss文件打包成 jar或war包; 部署:将打包后的war文件部署到制定的web应用服务器中去。(tomcat的webappers中去) ******************************* ant默认执行build.xml文件 ant是使用的java...

    apache-ant-1.9.3.rar

    当开始一个新的项目时,首先应该编写Ant构建文件。构建文件定义了构建过程,并被团队开发 中每个人使用。Ant构建文件默认名为build.xml,也可以取其他的名字。只不过在运行的时候 把这个命名当作参数传给Ant。构建...

    ant 打包ant

    ant 从创建文件到打包.jar打包zip到发布到ftp服务器等一系列的解决方法和源码(使用前请先下载MindManager )

    JAVA_Ant详细介绍与应用

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一.安装与配置 二.Ant的关键元素 三.Ant的...

    如何使用ANT开发Java程序

    3、一个 ant 项目目录结构: c:\HelloWorld :项目主目录 \src :源程序目录 \classes :编译后的 class 文件目录 \lib :开发项目所需要的类库目录,比如开发数据库时所需要的 jdbc lib \jar :打包好的 jar ...

    Ant+XDoclet生成hbm文件

    NULL 博文链接:https://depravedangel.iteye.com/blog/441859

    分离自Ant的ZIP包可解决中文文件名处理问题

    这个名是名离自ant原码的,由于java.util.zip处理中文文件名时有问题可以用这个包代替那个使用就不会有中文问题了,我加了一个ZipTool.java,这个就是一个示例文件和方法打包文件。 &lt;br&gt;特点: 一、自有原码不...

Global site tag (gtag.js) - Google Analytics