`
zhao_rock
  • 浏览: 190152 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

java ant知识的一点积累

    博客分类:
  • Java
ant 
阅读更多

最近在搞一个Linux打包java项目的工具,编译工具采用的ant,积累了一点关于ant的微薄的经验,记录一下。

 

1. 默认情况下,使用ant命令会在当前的路径下寻找build.xml,根据里面的配置进行打包,当然我们也可以指定自定义的.xml文件进行打包,主要可以通过以下的三种模式

 

ant -buildfile mybuild.xml
ant -file mybuild.xml
ant -f mybuild.xml

 

2. 含有第三方jar包,并将其一起打包到目标jar包中

     <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="Test Project" name="Test Project">
    <!--ANT 1.7 is required                                        -->
 <property name="releaseBase" value="/usr/local/build" />
 <!--
  指定javac 编译环境的版本
  默认情况下yum install ant方式关联的jdk是open-jdk
 -->
 <property name="javac" value="/usr/local/jdk1.6.0_37/bin/javac" />
 <!-- module -->
 <property name="testBase" value="${releaseBase}/src/TestProject" />
   
 <!--
  创建需要的文件夹
  dist目录为编译好的jar包存放的位置
  bin目录为编译时class文件存放的位置
 -->   
    <mkdir dir="${releaseBase}/dist"/>

    <target name="TestProject">
  <delete dir="${releaseBase}/bin" />
  <mkdir dir="${releaseBase}/bin" />
  
  <!--
   直接将svn命令集成到build文件中,无需再手动更新代码
   前期需要yum install svn
  -->
     <exec dir="${testBase}" executable="svn">
   <arg line="update" />
  </exec>
  
  <!--
   将相关的配置文件copy到bin目录下
  -->
  <copy todir="${releaseBase}/bin">
   <fileset dir="${testBase}/src">
    <include name="**/*.properties" />
    <include name="**/*.xml" />
   </fileset>
  </copy>
  
  <path id="lib-classpath">
   <fileset dir="${testBase}/libs">
    <include name="**/*.jar"/>
   </fileset>
        </path>
  
  <!--
   编译代码,指定java的编译环境
   classpathref: 文件夹中class文件会被引用的jar包
   fork: 为true时在外部启用一个新的JDK编译器进程执行编译。默认值是true,应用在需要配置编译器运行时环境时
  -->
  <javac executable="${javac}" srcdir="${testBase}" destdir="${releaseBase}/bin" fork="true" >
            <compilerarg line="-encoding UTF-8"/>
            <classpath refid="lib-classpath"/>
        </javac>
       
  <!--
   生成Jar包(第三方包达到生成的Jar包中)
  -->
  <jar destfile="${releaseBase}/dist/TestProject.jar" filesetmanifest="mergewithoutmain">
            <manifest>
                <attribute name="Main-Class" value="com.test.TestMain"/>
                <attribute name="Class-Path" value="."/>
            </manifest>
            <fileset dir="${releaseBase}/bin"/>
            <zipfileset excludes="META-INF/*.SF" src="${testBase}/libs/commons-beanutils.jar"/>
            <zipfileset excludes="META-INF/*.SF" src="${testBase}/libs/commons-collections.jar"/>
            <zipfileset excludes="META-INF/*.SF" src="${testBase}/libs/commons-lang.jar"/>
            <zipfileset excludes="META-INF/*.SF" src="${testBase}/libs/commons-logging.jar"/>
        </jar>
    </target>
</project>

 

哪位高手知道,如何在zipfileset标签中设置通配符,这样只要一行代码类似*.jar就可以导入所有第三方jar,

真诚期待留言

 

0
0
分享到:
评论

相关推荐

    ant使用手册ANT使用指南

    #### 二、Ant的基础知识 ##### 2.1 什么是Ant? Apache Ant是一个基于Java的构建工具,其名称源自“Another Neat Tool”(另一个整洁的工具)的首字母缩写。构建工具的主要作用是将源代码和相关的资源文件转换成可...

    初学者ant入门级小实例

    以上就是Ant入门的一些基本知识点,通过这个“myant01”实例,你可以动手实践这些概念,逐步熟悉Ant的工作方式。随着经验的积累,你会发现Ant是一个强大且灵活的构建工具,能够满足各种复杂的项目构建需求。

    ACOforTSP.zip_ANT COLONY tsp JAVA_蚁群_蚁群权重_蚁群算法 java

    在这个Java实现中,关键知识点包括: 1. **蚁群算法的基本框架**:首先,需要定义每个蚂蚁的状态,如当前位置、剩余路径、总距离等;然后,定义蚂蚁如何选择下一个城市,这通常涉及信息素更新规则;最后,需要设定...

    JAVA EE架构师 需要具备的知识.docx

    成为一个成功的JAVA EE架构师,需要逐步积累知识和实践经验。以下是对各阶段学习内容的详细阐述: 1. **构架师胚胎(程序员)** - **语言基础**:Java是基础,理解其语法、特性,包括类、接口、异常处理、输入输出...

    JAVA_EE架构师_需要具备的知识.docx

    在积累了丰富的实践经验之后,进入设计师阶段,此时的重点是将理论知识应用于实践,并逐步形成自己的设计理念和技术风格。 1. **设计模式**:深入学习各种设计模式,包括但不限于GOF设计模式、J2EE设计模式等,这...

    如何测试自己是否掌握了Java

    ### 如何测试自己是否掌握了Java 对于任何学习者而言,掌握一门编程语言并不仅仅是理论上的了解,更重要的是能够实际操作并解决具体问题。...建议多参与实际项目,不断积累经验,这样才能真正成为Java领域的高手。

    学java该看的一些书~

    - **O'Reilly 出版的《Ant: The Definitive Guide》**:介绍了 Ant 工具的使用方法,非常适合 Java 项目的构建和自动化测试。 #### 总结 以上推荐的书籍涵盖了 Java 学习的各个阶段,从基础到高级,从理论到实践,...

    成为Java高手的25个学习要点

    积极参与各类项目实践,积累丰富的实战经验,是成为一名真正的Java高手不可或缺的过程。 综上所述,成为一名真正的Java高手不仅需要扎实的技术基础,还要具备广泛的技能树和不断学习的心态。希望以上内容能对您有所...

    JAVA EE架构师 需要具备的知识.doc

    JAVA EE架构师是软件开发领域的高级角色,负责设计和...通过不断学习和实践经验的积累,程序员可以逐渐发展为JAVA EE架构师,不仅要有扎实的技术基础,还要有解决复杂问题的能力,以及适应不断变化的行业需求的灵活性。

    Java编程学习路线图与核心技术详解

    本文为 Java 学习路线图,涵盖从基本语法到高级主题的内容,包括数据类型与变量、条件语句、循环结构、面向对象编程、内存管理、集合框架、序列化机制以及使用 Gradle/Maven/Ant 进行项目构建等方面的基础知识;...

    Java相关

    ### Java核心知识点详解 在IT领域,Java作为一门广泛应用的编程语言,其重要性...总之,成为Java高手并非一蹴而就,需要长期的学习和实践积累。掌握上述知识点,你将能够在Java开发领域游刃有余,应对复杂项目挑战。

    如何成为一个合格的java程序员

    要成为一个合格的Java程序员,需要全面且深入地掌握一系列技术和工具。下面将详细阐述成为一位合格Java程序员所需具备的关键技能。 ### 一、语法基础 ...通过持续的努力和积累,逐步成长为一名优秀的Java开发者。

    蚁群算法源代码——JAVA实现

    蚁群算法(Ant Colony Optimization,...对于JAVA程序员来说,这是一次将理论知识转化为实践的好机会。通过阅读和运行代码,我们可以直观地看到算法如何逐步收敛,找到解决方案,这对于提升算法设计和编程能力大有裨益。

    JAVAEE架构师需要具备的知识.pdf

    成为一个成功的JAVA EE架构师,需要逐步积累知识和实践经验。以下是对各阶段学习内容的详细阐述: 1. **构架师胚胎(程序员)** - **语言基础**:精通Java编程语言,理解其特性和语法,同时了解C和C++的基础,为...

    Java技术与就业指导

    此外,工具如ANT用于构建管理,LOG日志记录,JUnit单元测试也必不可少。 Java核心基础包括类、对象、封装、继承、多态等面向对象特性,以及异常处理、IO流、多线程、集合框架等内容。XML用于数据交换,编程设计模式...

    java基于蚁群算法路由选择可视化动态模拟(文+开题报告+翻译+任务书+外文翻译).zip

    本资料集合是关于使用Java编程语言实现蚁群算法(Ant Colony Optimization, ACO)进行路由选择的动态模拟及可视化的学习资源。其中包含了完整的源代码、开题报告、翻译、任务书以及相关的外文文献翻译,为深入理解和...

    Java高手的25个学习要点.txt

    ### Java高手的25个学习要点详解 #### 1. 掌握面向对象分析与设计(OOA/OOD),模式(GOF、J2EE、DP)及UML类图、对象图、...参与真实项目不仅能加深对理论知识的理解,还能积累宝贵的实战经验,提高解决问题的能力。

    java基于蚁群算法路由选择可视化动态模拟(论文+开题报告+翻译+任务书+外文翻译).rar

    总的来说,这个项目结合了理论与实践,从算法设计到可视化实现,涵盖了计算机科学多个领域的知识,对于学习和理解蚁群算法以及Java编程具有很高的价值。通过这个项目,开发者不仅可以提升算法设计和编程能力,还能...

    java基于蚁群算法路由选择可视化动态模拟.zip

    综上所述,这个Java项目不仅涉及了计算机网络的基础知识,还涵盖了高级的优化算法和可视化技术,是理论与实践相结合的良好示例。通过学习和实践,开发者可以深入了解路由选择策略,同时提升编程和算法设计能力。

Global site tag (gtag.js) - Google Analytics