`
newslxw
  • 浏览: 213832 次
  • 性别: 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,ant-junit.jar,ant-launcher.jar,ant-trax.jar

    这四个JAR文件共同构成了一个完整的Ant运行环境。开发者通常会将它们添加到项目的类路径中,以确保Ant可以正常工作并执行各种构建任务。在实际开发中,开发者可能会根据项目需求额外引入其他Ant模块,如ant-nodeps....

    ant打jar包时, 怎么把所依赖的jar包与从源码中编译过来class文件合并成最终的一个jar?

    Ant是一个流行的Java构建工具,它允许我们通过配置XML文件(build.xml)来执行自动化构建任务,包括jar文件的创建和合并。下面我们将详细讨论如何使用Ant实现这个目标。 首先,确保你已经安装了Ant,并且在项目中...

    java ant打包jar

    下面是一个简单的Ant构建文件(build.xml)示例,展示了如何使用Ant打包JAR: ```xml &lt;project name="MyProject" default="jar"&gt; ${build.dir}/classes"/&gt; &lt;property name="jar.dir" value="${build.dir}/jar...

    ant-1.6.5.jar.zip

    Ant的核心概念是构建文件,通常命名为`build.xml`,它定义了一系列的构建任务,如编译源代码、打包JAR文件、运行测试等。在Ant 1.6.5中,开发者可以利用这个版本提供的丰富任务来实现各种复杂的构建流程。例如,`...

    ant 将依赖的jar包和classes文件一起打成可执行jar

    标题中的“ant将依赖的jar包和classes文件一起打成可执行jar”指的是使用Apache Ant工具来构建一个包含依赖库和编译后类文件的Java应用程序可执行JAR文件。Ant是一个基于XML的构建工具,它允许开发者通过定义任务来...

    把jsp编译打包成jar

    总的来说,将JSP编译打包成jar是一个将静态的JSP文件转换为可执行的Servlet代码,并利用构建工具Ant完成打包的过程,这样可以方便地在不支持JSP的环境中运行和部署。这个过程涉及到JSP、Servlet、Ant构建工具以及web...

    ant脚本编译jar

    本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际应用。 `Ant`是Apache软件基金会开发的一款开源构建工具,它使用XML格式定义构建过程,具有高度可配置性和可扩展...

    struts2 _ant.jar 文件打包下载

    `struts2_ant.jar` 文件是Struts2框架的一个组成部分,它包含了Ant构建工具相关的类和资源,Ant是一个广泛使用的Java项目自动化构建工具。 在Struts2框架中,Ant常被用来自动化项目的构建过程,如编译源代码、打包...

    apache-ant-1.7.1 完整jar包 含api

    在提供的"apache-ant-1.7.1"压缩包中,包含了一个完整的Ant JAR文件,这是运行Ant所必需的。JAR(Java Archive)文件是Java平台的一种归档格式,用于集合多个类文件和其他资源,便于分发和使用。有了这个JAR包,...

    Ant入门教程,使用Ant自动生成JAR文件

    以下是一个简单的构建文件示例,用于编译源代码并生成JAR: ```xml &lt;project name="AntProject01" default="jar" basedir="."&gt; &lt;property name="dist.jar" value="myapp.jar"/&gt; ${build.dir}"/&gt; ${...

    Eclipse插件打包Jar文件fatjar(支持eclipse4.4及以上版本).zip

    本话题将围绕"Eclipse插件打包Jar文件fatjar"展开,讲解如何在Eclipse 4.4及以上版本中创建一个包含所有依赖的“fat jar”文件。 "Fat jar",又称为"uber jar",是一种将项目的所有依赖库合并到一个单一的JAR文件中...

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

    【Ant】Ant实例(1)一个Java文件依赖于某jar包,需要打包部署 在Java开发过程中,构建和部署是必不可少的环节。Apache Ant是一个广泛使用的自动化构建工具,它允许开发者编写XML配置文件来定义构建任务,如编译源...

    怎么将java的类文件打包成jar文件

    通过以上介绍,我们可以看到将 Java 类文件打包成 JAR 文件是一个相对简单的过程。了解并掌握 JAR 文件和 Manifest 文件的概念及其作用,可以帮助开发者更好地管理和部署 Java 应用程序。无论是手动使用 `jar` 命令...

    ANT打包可执行JAR包脚本

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

    ant.jar________打包工具

    例如,你可以定义一个"compile"目标用于编译源代码,一个"test"目标用于执行单元测试,以及一个"dist"目标用于创建可部署的JAR或WAR文件。 2. **任务(Tasks)**:Ant的任务是构建过程中执行的具体操作,如复制文件...

    java项目ant打包脚本

    Ant是一个开源的、跨平台的Java项目构建工具,它通过XML配置文件(如`build.xml`)定义任务,这些任务可以是编译源代码、创建JAR文件、运行测试、部署应用等。XML文件中包含了构建过程的步骤和依赖关系,使得构建...

    ant.jar下载

    在给定的压缩包文件"ant.jar"中,我们可以推测这可能包含了Ant的库文件,即完整的Ant运行时环境。开发者在自己的项目中引入这个JAR文件,就可以在没有安装全局Ant的情况下运行Ant脚本。使用命令行,可以通过`java -...

    ant zip jar

    例如,如果你有一个包含Java源代码和相关资源的项目,你可以用Ant构建一个Jar文件,然后将它与依赖库一起打包到Zip文件中,以便于分发。在这个过程中,`ant.jar`文件可能是一个已经包含Ant工具的Jar文件,而`zip.txt...

    jar打包,jar打包

    2. **使用`Class-Path`属性引用其他JAR文件**:在其中一个JAR文件的Manifest文件中使用`Class-Path`属性来声明对其他JAR文件的依赖。 3. **通过外部脚本调用不同的主类**:编写一个批处理文件或Shell脚本来根据需要...

    利用ant.jar解压缩zip包

    Ant是一个基于Java的构建工具,它提供了一系列的任务,包括处理文件、编译代码、打包应用程序等,其中就包含了对压缩文件的操作。 本话题主要聚焦于如何利用ant.jar来解压缩ZIP包。首先,你需要确保你的项目中已经...

Global site tag (gtag.js) - Google Analytics