build xml用ant把java文件转成class文件怎么写 java文件是 helloworld.java 我想知道build.xml怎么写

build xml  时间:2022-02-27  阅读:()

用eclipse运行.java文件后显示unable to find an Ant file to run,但我有build.xml文件

build.xml,是当作ant的配置运行,就需要将ant的bin目录放置在PATH中

ant的build_xml

 在Ant出现之前,构建和部署Java应用需要使用包括特定平台的脚本、Make文件、各种版本的IDE甚至手工操作的“大杂烩”。现在,几乎所有的开源Java项目都在使用Ant,大多数公司的内部项目也在使用Ant。Ant在这些项目中的广泛使用自然导致了读者对一整套Ant最佳实践的迫切需求。      本文总结了我喜爱的Ant技巧或最佳实践,多数是从我亲身经历的项目错误或我听说的其他人经历的 “恐怖”故事中得到灵感的。比如,有人告诉我有个项目把XDoclet 生成的代码放入带有锁定文件功能的版本控制工具中。      当开发者修改源代码时,他必须记住手工检出(Check out)并锁定所有将要重新生成的文件。然后,手工运行代码生成器,只到这时他才能够让Ant编译代码,这一方法还存在如下一些问题:      生成的代码无法存储在版本控制系统中。Ant(本案例中是Xdoclet)应该自动确定下一次构建涉及的源文件,而不应由程序员手工确定。      Ant的构建文件应该定义好正确的任务依赖关系,这样程序员就不必为了完成构建而不得不按照特定顺序调用任务。      当我开始一个新项目时,我首先编写Ant构建文件。Ant文件明确地定义构建的过程,并被团队中的每个程序员使用。本文所列的技巧基于这样的假定:Ant构建文件是一个必须仔细编写的重要文件,它应在版本控制系统中得到维护,并被定期进行重构。下面是我的十五大Ant最佳实践。 中国网管论坛      1. 采用一致的编码规范      Ant用户有的喜欢有的痛恨其构建文件的XML语法。与其跳进这一令人迷惑的争论中,不如让我们先看一些能保持XML构建文件简洁的方法。      首先也是最重要的,花费时间格式化你的XML让它看上去很清晰。不论XML是否美观,Ant都可以工作。但是丑陋的XML很难令人读懂。倘若你在任务之间留出空行,有规则的缩进,每行文字不超过90列左右,那么XML令人惊讶地易读。再加上使用能够高亮XML语法的优秀编辑器或IDE工具,你就不会有阅读的麻烦。      同样,精选含意明确、容易读懂的词汇来命名任务和属性。比如,dir.reports就比rpts好。特定的编码规范并不重要,只要拿出一套规范并坚持使用就行。      2. 将build.xml放在项目根目录中      Ant构建文件build.xml可以放在任何位置,但是放在项目顶级目录中可以保持项目简洁。这是最常用的规范,开发者能够在顶级目录中找到预期的build.xml。把构建文件放在根目录中,也能够使人容易了解项目目录树中不同目录之间的逻辑关系。以下是一个典型的项目目录层次:      [root dir]   | build.xml   +--src   +--lib (包含第三方 JAR包) 中国网管联盟

  +--build (由 build任务生成)   +--dist (由 build任务生成)      当build.xml在顶级目录时,假设你处于项目某个子目录中,只要输入:ant pile 命令,不需要改变工作目录就能够以命令行方式编译代码。参数-find告诉Ant寻找存在于上级目录中的build.xml并执行。      3. 使用单一的构建文件      有人喜欢将一个大项目分解成几个小的构建文件,每个构建文件分担整个构建过程的一小部分工作。这确实是看法不同的问题,但是应该认识到,将构建文件分割会增加对整体构建过程的理解难度。要注意在单一构建文件能够清楚表现构建层次的情况下不要过工程化(over-engineer)。      即使你把项目划分为多个构建文件,也应使程序员能够在项目根目录下找到核心build.xml。尽管该文件只是将实际构建工作委派给下级构建文件,也应保证该文件可用。      4. 提供良好的帮助说明      应尽量使构建文件自文档化。增加任务描述是最简单的方法。当你输入ant -projecthelp时,你就可以看到带有描述的任务清单。比如,你可以这样定义任务:      <target name=pile"   description="Compiles code, 中国网管论坛   output goes to the build dir.">      最简单的规则是把所有你想让程序员通过命令行就可以调用的任务都加上描述。对于一般用来执行中间处理过程的内部任务,比如生成代码或建立输出目录等,就无法使用描述属性。      这时,可以通过在构建文件中加入XML注释来处理。或者专门定义一个help任务,当程序员输入ant help时来显示详细的使用说明。      <target name="help"   description="Display detailed usage information">   <echo>Detailed help...   </echo></target>      5. 提供清除任务      每个构建文件都应包含一个清除任务,用来删除所有生成的文件和目录,使系统回到构建文件执行前的初始状态。执行清空任务后还存在的文件都应处在版本控制系统的管理之下。比如:      <target name="clean"   description="Destroys all   generated files and dirs.">   <delete dir="${dir.build}"/>   <delete dir="${dir.dist}"/>   </target>      除非是在产生整个系统版本的特殊任务中,否则不要自动调用clean任务。当程序员仅仅执行编译任务或其他任务时,他们不需要构建文件事先执行既令人讨厌又没有必要的清空任务。要相信程序员能够确定何时需要清空所有文件。 网管网

     6. 使用ANT管理任务从属关系      假设你的应用由Swing GUI组件、Web界面、EJB层和公共应用代码组成。在大型系统中,你需要清晰地定义每个Java包属于系统的哪一层。否则任何一点修改都要被迫重新编译成百上千个文件。糟糕的任务从属关系管理会导致过度复杂而脆弱的系统。改变GUI面板的设计不应造成Servlet和EJB的重编译。      当系统变得庞大后,稍不注意就可能将依赖于客户端的代码引入到服务端。这是因为典型的IDE项目文件编译任何文件都使用单一的classpath。而Ant能让你更有效地控制构建活动。      设计你的Ant构建文件编译大型项目的步骤:首先,编译公共应用代码,将编译结果打成JAR包文件。然后,编译上一层的项目代码,编译时依靠第一步产生的JAR文件。不断重复这一过程,直到最高层的代码编译完成。      分步构建强化了任务从属关系管理。如果你工作在底层Java框架上,偶然引用到高层的GUI模板组件,这时代码不需要编译。这是由于构建文件在编译底层框架时在源路径中没有包含高层GUI面板组件的代码。      7. 定义并重用文件路径      如果文件路径在一个地方一次性集中定义,并在整个构建文件中得到重用,那么构建文件更易于理解。以下是这样做的一个例子:      <project name="sample"   default=pile" basedir=".">   <path id="mon">   <pathelement   location="${jdom.jar.withpath}"/>   ...etc </path>   <path id="classpath.client">   <pathelement location=   "${guistuff.jar.withpath}"/>   <pathelement location=   "${another.jar.withpath}"/>   <!-- reuse mon classpath -->   <path refid="mon"/>   </path>   <target name=mon"   depends="prepare">   <javac destdir="${dir.build}"   srcdir="${dir.src}">   <classpath   refid="mon"/>   <include   name=/mon/**"/>   </javac>   </target>   </project>      当项目不断增长构建日益复杂时,这一技术越发体现出其价值。你可能需要为编译不同层次的应用定义各自的文件路径,比如运行单元测试的、运行应用程序的、运行Xdoclet的、生成JavaDocs的等等不同路径。      这种组件化路径定义的方法比为每个任务单独定义路径要优越得多。否则,很容易丢失任务从属关系的轨迹。 中国网管联盟

     8. 定义恰当的任务从属关系      假设dist任务从属于jar任务,那么哪个任务从属pile任务哪个任务从属于prepare任务呢?Ant构建文件最终定义了任务的从属关系图,它必须被仔细地定义和维护。      应该定期检查任务的从属关系以保证构建工作得到正确执行。大的构建文件随着时间推移趋向于增加更多的任务,所以到最后可能由于不必要的从属关系导致构建工作非常困难。比如,你可能发现在程序员只需编译一些没有使用EJB的GUI代码时又重新生成了EJB代码。      以“优化”的名义忽略任务的从属关系是另一种常见的错误。这种错误迫使程序员为了得到恰当的结果必须记住并按照特定的顺序调用一串任务。更好的做法是:提供描述清晰的公共任务,这些任务包含正确的任务从属关系;另外提供一套“专家”任务让你能够手工执行个别的构建步骤,这些任务不提供完整的构建过程,但是让那些专家用户在快速而恼人的编码期间能够跳过某些步骤。      9. 使用属性      任何需要配置或可能发生变化的信息都应作为Ant属性定义下来。对于在构建文件中多次出现的值也同样处理。属性既可以在构建文件头部定义,也可以为了更好的灵活性而在单独的属性文件中定义。以下是在构建文件中定义属性的样式: 网管网      <project name="sample"   default=pile" basedir=".">   <property name="dir.build"   value="build"/>   <property name="dir.src"   value="src"/>   <property name="jdom.home"   value="../java-tools/jdom-b8"/>   <property name="jdom.jar"   value="jdom.jar"/> -------------------------------------------

谁会写ANT的build.xml文件,以及在Eclipse 自动生成build.xml文件

&lt;?xml version="1.0" encoding="GB2312" ?&gt; &lt;project name="aa" default="build"&gt; &lt;property name="src.dir" value="D:\MyEclipse 6.6 workspace\ubill_server\src"/&gt; &lt;property name="dest.dir" value="D:\MyEclipse 6.6 workspace\ubill_server\dest"/&gt; &lt;target name="init"&gt; &lt;delete dir="${dest.dir}" failonerror="false"/&gt; &lt;mkdir dir="${dest.dir}"/&gt; &lt;/target&gt; &lt;target name="build" depends="init"&gt; &lt;!--编译--&gt; &lt;javac srcdir="${src.dir}" destdir="${dest.dir}"&gt; &lt;/javac&gt; &lt;/target&gt; &lt;/project&gt; 没试过对不对,手写的,你试试看看。

在eclipse中进行资源构建,ANT问题 已建立build.xml

这个里面的default设定了默认执行的目标,也就是dos下执行ant命令不加参数时,会默认执行default中设定的目标 你的default是secondTarget 但是这里: ${secondText} name是secondTargle 和上面default中设置的不一样,只要设为一样就行了 但是你个两个target都写错了,都写成了targle,ant里面没有这个东东,下面是我给你改好的: ${firstText} ${secondText}

eclipse是不是必须自己写build.xml文件才可以编译

你好:eclipse中每次保存java文件后一般都可以自动编译;在菜单窗口把project --Bulid-Au..那个选项勾上就可以了。ant才需要这个bulid.xml;一般都用不到的。

用myeclipse内置的ANT工具build.xml编译jar包需要配置java环境变量和ANT环境变量么?

不需要吧,只需要在build.xml里边设置好jdk以及你的第三方类库的jar目录就行了

我在Eclipse工程目录下有个build.xml文件,现在我要在该项目目录下建一个批处理文件,文件命令该如何写?

这个问题,我前几天上网百度了好久,大部分都是没有什么建设性的。我终结了一个好办法。 1.首先第一步:从网上下载fat.jar的第三方插件,加在myeclipse的dropins文件夹内,重启后,对项目名称点击右菜单,即可发现 有build fat jar这个选项。 2.第二步,正确选择选项,比如one -jar ,填上主方法名(记得要加包名),点击下一步弹出添加第三方的jar包,这一步很重要,添加好后,点击确定即可完成 3.然后直接在你存的jar文件,双击即可运行。 4,如果要做成bat 文件,只需建立一个 start.bat,用编辑选项,在里面加上这样一句代码: java -jar xxxxx.jar &gt;log.txt. 说明: log.txt如果没有,电脑会自动创建,创建好后,一个注意点是,很多这种java的项目,在myeclipse中反而无法显示,所以了,你的jar给用户的时候,把图片也一起打包,这样,双击运行bat文件后,它会自动加载图片,完成。 希望采纳!!!

用ant把java文件转成class文件怎么写 java文件是 helloworld.java 我想知道build.xml怎么写

build.xml 如下:default 表示从run开始执行,property是表示变量,可在下面用${}进行应用,以helloWold.java为例,注意src和build.xml在同一目录,执行build.xml,需要ant开源包,在apache进行下载。

HostDare($33.79/年)CKVM和QKVM套餐 可选CN2 GIA线路

关于HostDare服务商在之前的文章中有介绍过几次,算是比较老牌的服务商,但是商家背景财力不是特别雄厚,算是比较小众的个人服务商。目前主流提供CKVM和QKVM套餐。前者是电信CN2 GIA,不过库存储备也不是很足,这不九月份发布新的补货库存活动,有提供九折优惠CN2 GIA,以及六五折优惠QKVM普通线路方案。这次活动截止到9月30日,不清楚商家这次库存补货多少。比如 QKVM基础的五个方案都...

美国服务器20G防御 50G防御 688元CN2回国

全球领先的IDC服务商华纳云“美国服务器”正式发售啦~~~~此次上线的美国服务器包含美国云服务器、美国服务器、美国高防服务器以及美国高防云服务器。针对此次美国服务器新品上线,华纳云也推出了史无前例的超低活动力度。美国云服务器低至3折,1核1G5M低至24元/月,20G DDos防御的美国服务器低至688元/月,年付再送2个月,两年送4个月,三年送6个月,且永久续费同价,更多款高性价比配置供您选择。...

€4.99/月Contabo云服务器,美国高性价比VPS/4核8G内存200G SSD存储

Contabo是一家运营了20多年的欧洲老牌主机商,之前主要是运营德国数据中心,Contabo在今年4月份增设新加坡数据中心,近期同时新增了美国纽约和西雅图数据中心。全球布局基本完成,目前可选的数据中心包括:德国本土、美国东部(纽约)、美国西部(西雅图)、美国中部(圣路易斯)和亚洲的新加坡数据中心。Contabo的之前国外主机测评网站有多次介绍,他们家的特点就是性价比高,而且这个高不是一般的高,是...

build xml为你推荐
手游代理手游代理前期得投资多少钱?有了解的吗?excel通配符Excel 条件中带有通配符的怎么用sumifword打字后面的字消失Word输入一个字,后面就会消失一个字,该怎么办qq实名注册qq实名认证局域网ip扫描工具如何扫描局域网使用的设备蓝牙开发iOS的蓝牙开发跟Android有什么不同小蓝条戴尔系统开机动画里的小蓝条怎么去充值卡充值移动手机充值卡如何充值?软件群发有谁用过微信能群发的软件吗?在哪买的?空间图片从哪里能找到更好的空间图片
域名中介 亚洲大于500m 腾讯云盘 唯品秀 java主机 163网 美国主机论坛 域名优惠码 512m tightvnc 建站代码 免费全能空间 工作站服务器 美国免费空间 服务器监测 双线机房 免费ftp 国外的代理服务器 云服务器比较 googlevoice 更多