在JBuilder8中使用ANT

在JBuilder8中使用ANT
                                                            作者:翁驰原
    在JBuilder8中,Apache Ant的版本已更新至1.5.1,提供了更强大的功能。什么是ANT呢?总的来说ANT是一种基于Java的build工具。关于build工具,我相信大家已经接触过很多了,比如:make, gnumake, nmake, jam以及其他的build工具。那为什么要使用ANT呢?因为ANT是一种基于JAVA的跨平台的build工具。Ant用Java的类来扩展,(用户)不必编写shell命令,配置文件是基于XML的,通过读取的配置文件里定义的targets和tasks来执行任务。
    JBuilder能够自动识别名字为build.xml的ANT的build文件,在JBuilder里这个文件会显示成一个蚂蚁的图标。本文所使用的JBuilder版本是JBuilder8,本文假定读者对JBuilder和Java有一定的了解。接下来让我们一步步的体验如何在JBuilder里使用ANT吧。
1.建一个工程和应用程序
 打开JBuilder8,选择菜单File|New来打开新建面板。选择Project里面的Project,在Name栏里填写AntProject,下面的步骤跳过,直接按Finish完成。再选择File|New在General面板里选择Application,接受默认的选项后按Finish结束。
2.建立ANT文件
  在JBuilder里选择Project|Add Files/Packages,选择左边的Explorer,选择AntProject工程的根目录,在File Name字段里填写build.xml后按OK后弹出一个提示问是否要创建,按下OK就创建了一个名为build.xml的文件。系统能自动识别它是ANT文件并显示成一个蚂蚁图标,如果你存成其他名字的.xml文件也希望JBuilder把它识别为ANT的build文件的话,在这个文件上点右键,选择Properties在ANT页里选择Ant Build File。打开刚才创建的build.xml文件在里面加入如下的内容后保存工程
<?xml version="1.0"?>
<!DOCTYPE project>
<project name="AntProject" default="dist" basedir=".">
<property name="src" value="src"/>
<property name="build" value="build"/>
<property name="dist" value="dist"/>

<target name="init">
<tstamp/>
<mkdir dir="${build}"/>
</target>

<target name="compile" depends="init"> 
<javac srcdir="${src}" destdir="${build}"/>
</target>

<target name="dist" depends="compile">
<mkdir dir="${dist}/lib"/>
<jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>
</target>

<target name="clean">
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>

</project>
这里大致解释一下:先看第三行的project,每一个build文件里都含有一个project,name是项目名称,default是指一个缺省的target,一个项目可以定义一个或多个target。执行Ant时,可以选择执行那个target。当没有给定target时,就会默认执行project的default属性所确定的target。basedir是指用来其他路径的基路径。接下?请看propertie属性,一个project可以有多个properties,有点像定义变量,property可用于task的属性值。

                             (图1)
如果设定了<property name="srcProperty" value="src"/> 那么当你以后使用"${ srcProperty }"的时候,实际的得到的值是src。下面是target,一个target可以依赖于其他的target。<target name="dist" depends="compile">这里dist是依赖于compile的,也就是说在执行dist的时候会先执行compile。还可以写if或者unless控制语句,比如:<target name="build-module-A" if="module-A-present"/>,如果没有if或unless属性,target总会被执行。以上的四个target分别实现了(1)创建一个build的文件夹(2)build文件(3)打包成.jar(4)清理工作——删除文件夹。
3.执行targets
    点击左上方的refresh按钮,Ant这个图标旁边会出现一个加号,下面会出现你所定义的那些targets。在init上点击右键,然后在谈出来的菜单上选择make(如图1所示),这样这个target就创建了一个名字叫build的目录。然后你可以在其他的traget上试试,看看执行效果。最后执行clean target清楚被创建的目录。也可以直接在build.xml上单击右键,点make,这样就会执行默认的target。因为dist是依赖于compile,而compile是依赖于init的,所以就会执行创建一个文件夹,再编译文件,最后打包的一系列的任务。
4.用Ant来处理错误
    打开Application1.java,注释掉main方法——//public static void main(String[] args) 。右击build.xml选择make 编译,检查信息面板里的错误信息,当在错误信息上双击的时候,在程序面板会自动高亮度显示错误。把main方法前面的//去掉,以便继续下面的操作。

                                  (图2)
5.在project菜单里增加一个target
选择Project|Project Properties打开Project Properties面板后选择build页,然后再选择Menu Items页。在Menu Items页里点击Add按钮打开一个叫Add Build Target To Menu的窗口(如图2),选择需要的Ant Target(这里选择clean)后OK。在Menu Items面板里,你可以点击右边的Move Up按钮和Move Down按钮来调整Ant Target的位置,在这里把clean调整到第二个位置,点击OK关闭Project Properties面板。这时可以看见Project菜单下出现了一个clean的项,然后点击clean执行删除文件夹任务。
    
6.设置Ant属性
    右击build.xml后选择Properties。在谈出来的面板里选择Ant页后把Log Level设置成Verbose(如图3),这样在消息面板里可以提供更详细的消息。点击Properties右边的Add按钮,在弹出的窗口里的Name栏里选择build,并在下面的Value栏里输入test。点击两次OK关闭两个对话框。现在当执行编译任务时,Ant是创建一个test的文件夹把类文件放在这里,而不是之前的build目录。你可以试一下,右击compile target后点击make,仔细看消息面板你会发现更多的信息,具体信息可以参考如下:

                                 (图3)

Ant
   StdOut
      Apache Ant version 1.5.1 compiled on October 2 2002
      Buildfile: build.xml
      Detected Java version: 1.4 in: H:/JBuilder7/jdk1.4/jre
      Detected OS: Windows 2000
      parsing buildfile build.xml with URI = file:I:/personal/project/j_project/jbuilder_torial/AntProject/build.xml
      Project base dir set to: I:/personal/project/j_project/jbuilder_torial/AntProject
      Override ignored for property build
      Build sequence for target `compile' is [init, compile]
      Complete build sequence is [init, compile, clean, dist]
      init:
      compile:
          [javac] antproject/Application1.java omitted as I:/personal/project/j_project/jbuilder_torial/AntProject/test/antproject/Application1.class is up to date.
          [javac] antproject/Frame1.java omitted as I:/personal/project/j_project/jbuilder_torial/AntProject/test/antproject/Frame1.class is up to date.
          [javac] antproject/Frame1.jbx skipped - don't know how to handle it
      BUILD SUCCESSFUL
      Total time: 1 second
接下来,首先选择Project|clean清除了目录后,我们来看看怎么设置在JBuilder编译的时候默认的使用Ant来编译。在AntProject.jpx上右击鼠标选择clean,这是用来删除JBuilder生成的类和类目录的。然后右击build.xml后选择Properties,选上Always Run Ant When Building Project这个选项后OK关闭这个对话框。现在,当选择Project |Make Project的时候,JBuilder自动调用Ant来执行编译任务。如果在编译的时候还需要其他的一些类库的话,例如你需要执行Java mail, 或JUnit测试,可以这样加入你所需要的类库:选择Project|Project Properties,在弹出的面板里选择Build页里的Ant页,在Ant页里按Add打开一个Select A Library dialog的窗口来增加你所需要的类库,如果这个窗口里没有所需要的类库的话,可以点左下角的new按钮来指定,点击OK后关闭窗口。可以按Move Up或Move Down来调整它们的查找类库的顺序。点击OK关闭Project Properties对话框。
    好了,到现在为止相信读者对Ant和它在JBuilder里的使用有了基本的了解了。如果想对Ant有更多的了解的话,请访问:http://jakarta.apache.org/ant/manual/index.html。 

转载自:http://www.javaresearch.org/article/showarticle.jsp?column=23&thread=5365







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像的目标属于哪个类别。 定位问题:确定目标在图像的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值