ant读书笔记

本文深入探讨了Ant构建工具的安装与基本命令参数使用,包括环境变量设置、常用命令及参数、Project标签、Property标签、path标签、编译、打包、文档生成、war构建等。同时提供了详细示例代码,帮助开发者高效地管理和构建项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ant安装

1 下载解压

2 环境变量中设置ANT_HOME 并在Path中添加%ANT_HOME%\bin;

3:设置jdk相关环境变量JAVA_HOME\Path\classpath

classpath: .;%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\tools.jar

 

Ant命令参数

例子ant –buildfile myant.xml clean       

    或者用默认build.xml如ant clean jar ,clean和jar均为target名

常用的参数有

-version

- buildfile       指定ant需要处理的构建文件,默认为build.xml

-logfile filename 将日志输出到指定文件

Project标签

<project name=”MyProject” default=”all” basedir=”.”> </project>

Name属性为工程提供名称

Default指构建文件中的一个target名,默认开始执行此target

Basedir 定义了工程的根目录,一般情况下为”.”,相当于目录的参考点

 

Property标签

常见1.<property  name=”src.dir”  value=”src”/>

    2.<property  file=”user.properties”/>

  第一个正常赋值后面可以如此使用${src.dir}

  第二个,加载了一个配置文件,不如配置文件中有mydir=/ome/test,后面也如此使用${mydir}

 

 

path

<path id=”classpath”>

         <filesetdir=”${src.lib}”>

                   <includename=”**/*.jar”/>

         </fileset>

<path>

 

Javac

<javac destdir=”${build.classes}”

            srcdir=”${src.dir}” //多个时src=”${src}:${src2}”

      debug=”on”>

        <exclude name=”ibot/modules/**”/>

       <classpath refid=”classpath”/>

</javac>

 

编译${src.dir}中的源码(不包括ibot/modules下文件),生成结果放入${build.classes}目录中

Jar

1.<jar jarfile=”${build.lib}/ibot.jar”

    basedir=”${build.classes}”

          manifest=MANIFEST.MF”” >

          <manifest>

                   <attribute  name=” Main-class” value=”ibot”>

          </manifest>

          <exclude name=”ibot/modules/**” />   

<jar>

 

打成jar包,同时在jar包中生成META_INF/MANIFEST.MF其中内容为Main-class:ibot

 

2.多处时

<jardestfile="${dist}/lib/app.jar">

   <fileset dir="${build}/classes"excludes="**/Test.class" />

   <fileset dir="${src}/resources"/>

</jar>

java

1.<javaclassname="test.Main">

<classpath>

<pathelement  location="dist/test.jar"/>

<pathelement  path="build/classes"/>

</classpath>

</java>

classname中指定要执行的类,classpath设定要使用的环境变量

Javadoc

<mkdir dir=”${doc.dir}/api”

<javadoc packaename=”ibot.*”

        sourcepath=”${src.dir}”

                    destdir=” ${doc.dir}/api”

        author=”true”

        version=”true”

       user=”true”>

                <classpath> 

                <filesetdir="${lib}"> 

                    <includename="*.jar"/> 

                 </fileset> 

                <filesetdir="${tomcat-root}/lib"> 

                    <includename="*.jar"/> 

                 </fileset> 

         </classpath>

</javadoc>

 

war

项目机构如下:

 

<?xmlversion="1.0"?>

<project default="war" basedir="." name="antwebtest">

     <property name="classes" value="build/classes"/>

     <property name="build" value="build"/>

     <property name="lib" value="WebRoot/WEB-INF/lib"/>

    <target name="clean">

       <delete dir="build"/>

    </target>

    <target name="compile" depends="clean">

       <mkdir dir="${classes}"/>

       <javac srcdir="src" destdir="${classes}"/>

    </target>

    <target name="war" depends="compile">

           <war destfile="${build}/antwebproject.war" webxml="WebRoot/WEB-INF/web.xml">

               <!-- 拷贝WebRoot-->

               <fileset dir="WebRoot" includes="**/*.jsp"/>  

               <fileset dir="WebRoot" includes="image/*"/>  

               <!-- 拷贝lib目录下的jar包-->

               <lib dir="${lib}"/>         

               <!-- 拷贝build/classes下的class文件-->

               <classes dir="${classes}"/>

           </war>

       </target>

</project>

 

mkdir

<mkdirdir="build/classes"/>

创建一个目录,如果他的父目录不存在,也会被同时创建。

 

copy

(1) 拷贝单个的文件:

<copy file="myfile.txt"tofile="mycopy.txt"/>

(2) 拷贝单个的文件到指定目录下

<copy file="myfile.txt"todir="../some/other/dir"/>

(3) 拷贝一个目录到另外一个目录下

<copy todir="../new/dir">

<fileset dir="src_dir"/>

</copy>

(4) 拷贝一批文件到指定目录下

<copy todir="../dest/dir">

<fileset dir="src_dir">

<excludename="**/*.java"/>

</fileset>

</copy>

 

<copy todir="../dest/dir">

<filesetdir="src_dir" excludes="**/*.java"/>

</copy>

(5) 复制文件过程中增加.Bak后缀

< copy todir="my/src/dir">

<filesetdir="my/src/dir">

<exclude name="**/*.bak"/>

</fileset>

<mappertype="glob" from="*" to="*.bak"/>

</ copy >

 

copy

 

delete

(1) 删除一个文件

<deletefile="/lib/ant.jar"/>

(2) 删除指定目录及其子目录

<delete dir="lib"/>

(3) 删除指定的一组文件

<delete>

   <fileset dir="." includes="**/*.bak"/>

</delete>

move

(1) 移动一个文件(重命名)

<move file="file.orig"tofile="file.moved"/>

(2) 移动一个文件到另一个文件夹下面

<move file="file.orig"todir="dir/to/move/to"/>

(3) 将一个目录移到另外一个目录下

<movetodir="new/dir/to/move/to">

<filesetdir="src/dir"/>

</move>

(4) 将一组文件移动到另外的目录下

<move todir="some/new/dir">

<fileset dir="my/src/dir">

<includename="**/*.jar"/>

<excludename="**/ant.jar"/>

</fileset>

</move>

(5) 移动文件过程中增加.Bak后缀

<move todir="my/src/dir">

<filesetdir="my/src/dir">

<exclude name="**/*.bak"/>

</fileset>

<mappertype="glob" from="*" to="*.bak"/>

</move>

 

Echo输出

<echo message="The base dir is: ${basedir}"/>

内容概要:本文详细介绍了扫描单分子定位显微镜(scanSMLM)技术及其在三维超分辨体积成像中的应用。scanSMLM通过电调透镜(ETL)实现快速轴向扫描,结合4f检测系统将不同焦平面的荧光信号聚焦到固定成像面,从而实现快速、大视场的三维超分辨成像。文章不仅涵盖了系统硬件的设计与实现,还提供了详细的软件代码实现,包括ETL控制、3D样本模拟、体积扫描、单分子定位、3D重建和分子聚类分析等功能。此外,文章还比较了循环扫描与常规扫描模式,展示了前者在光漂白效应上的优势,并通过荧光珠校准、肌动蛋白丝、线粒体网络和流感A病毒血凝素(HA)蛋白聚类的三维成像实验,验证了系统的性能和应用潜力。最后,文章深入探讨了HA蛋白聚类与病毒感染的关系,模拟了24小时内HA聚类的动态变化,提供了从分子到细胞尺度的多尺度分析能力。 适合人群:具备生物学、物理学或工程学背景,对超分辨显微成像技术感兴趣的科研人员,尤其是从事细胞生物学、病毒学或光学成像研究的科学家和技术人员。 使用场景及目标:①理解和掌握scanSMLM技术的工作原理及其在三维超分辨成像中的应用;②学习如何通过Python代码实现完整的scanSMLM系统,包括硬件控制、图像采集、3D重建和数据分析;③应用于单分子水平研究细胞内结构和动态过程,如病毒入侵机制、蛋白质聚类等。 其他说明:本文提供的代码不仅实现了scanSMLM系统的完整工作流程,还涵盖了多种超分辨成像技术的模拟和比较,如STED、GSDIM等。此外,文章还强调了系统在硬件改动小、成像速度快等方面的优势,为研究人员提供了从理论到实践的全面指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值