zoukankan      html  css  js  c++  java
  • Ant入门: Hello World with Apache Ant

      笔者因项目需要进行java程序打包,之前一直使用的最多的打包工具要数fat-jar了。此工具将所有引用的jar包以及源码生成的class一起打到一个包里面,运行程序的时候直接运行命令:java –jar jarname.jar。

      fat-jar看似很方便。但是在实际运用中存在2大缺点:

        1.将所有jar包都整合到一起,导致jar包太大,一般最小几百k,最大十几MB都有,上传至服务器时,耗时较长。

        2.每次更新jar包,引用的包又要重新打进去。其实引用的包根本就没做更改,特别是引用的jar包较多时,打包时间较长。

         通过查找网络资料,发现Ant是个不错的打包工具,特在此小试牛刀。下面以一个简单程序Hello World开始,具体操作过程记录如下,用以备忘。

         HelloWorld.Java代码如下:

    package com.iie.test.ant;
    
    public class HelloWorld {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		System.out.println("Hello World");
    	}
    
    }
    

      build.xml代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <project name ="HelloWorld" default="jar" basedir=".">
    	
        <target name="clean">
            <delete dir="${basedir}/build"/>
        </target>
    	
        <target name="compile" depends ="clean">
            <mkdir dir ="${basedir}/build/classes"/>
            <javac includeantruntime="false" srcdir ="${basedir}/src" destdir ="${basedir}/build/classes"/>
        </target>
    	
    	<target name="run"  depends ="compile">
    	     <java classname ="com.iie.test.ant.HelloWorld">   
    	     	<classpath> 
    	     		<pathelement path="${basedir}/build/classes"/>
    	     	</classpath>
    	     </java>
    	</target>
    	
    	<target name="jar" depends="run">
    		<mkdir dir="build/jar"/>
    		<jar destfile="build/jar/HelloWorld.jar" basedir="${basedir}/build/classes">       
    			<manifest>    	
    				<attribute name="Main-class" value="com.iie.test.ant.HelloWorld"/>   
    			</manifest>  
    		</jar>
    	</target >
    	
    </project>
    

      运行结果如下:

              (1)console下出现:[java] Hello World

         (2)buildjar文件夹下生成HelloWorld.jar,cmd下运行java -jar HelloWorld.jar即可

      

  • 相关阅读:
    后盾网-CI框架实例教程-马振宇
    后盾网-CI框架实例教程-马振宇
    CI框架-学习笔记
    慕课网--PHP进阶篇--学习笔记(2)
    慕课网--PHP进阶篇--学习笔记(1)(数组、类与面向对象)
    慕课网--PHP入门篇--学习笔记
    移动端知识转载收藏
    移动端web app自适应布局探索与总结
    IE6/IE7下:inline-block解决方案
    微信JS SDK Demo 官方案例
  • 原文地址:https://www.cnblogs.com/Gingber/p/3915006.html
Copyright © 2011-2022 走看看