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进行下载。

VirMach(8元/月)KVM VPS,北美、欧洲

VirMach,成立于2014年的美国IDC商家,知名的低价便宜VPS销售商,支持支付宝、微信、PayPal等方式付款购买,主打美国、欧洲暑假中心产品,拥有包括洛杉矶、西雅图、圣何塞、凤凰城在内的11个数据中心可以选择,可以自由搭配1Gbps、2Gbps、10Gbps带宽端口,有Voxility DDoS高防IP可以选择(500Gbps以上的防御能力),并且支持在控制面板付费切换机房和更换IP(带...

Vinahost - 越南VPS主机商月6美元 季付以上赠送时长最多半年

Vinahost,这个主机商还是第一次介绍到,翻看商家的介绍信息,是一家成立于2008年的老牌越南主机商,业务涵盖网站设计、域名、SSL证书、电子邮箱、虚拟主机、越南VPS、云计算、越南服务器出租以及设备托管等,机房主要在越南胡志明市的Viettle和VNPT数据中心,其中VNPT数据中心对于国内是三网直连,速度优。类似很多海外主机商一样,希望拓展自己的业务,必须要降价优惠或者增加机房迎合需求用户...

TMThosting:VPS月付55折起,独立服务器9折,西雅图机房,支持支付宝

TMThosting发布了今年黑色星期五的促销活动,即日起到12月6日,VPS主机最低55折起,独立服务器9折起,开设在西雅图机房。这是一家成立于2018年的国外主机商,主要提供VPS和独立服务器租用业务,数据中心包括美国西雅图和达拉斯,其中VPS基于KVM架构,都有提供免费的DDoS保护,支持选择Windows或者Linux操作系统。Budget HDD系列架构CPU内存硬盘流量系统价格单核51...

build xml为你推荐
蓝屏代码电脑启动出现蓝屏代码seasonalseasonal greetings中文什么意思boltzmann波尔兹曼常数的值是多少scanf返回值scanf 的返回值密码设置怎么设置开机密码?系统登录界面谁知道XP系统的登录界面。和启动界面怎么更改的 急色温图一张色温准确的照片的基本标准是什么?蓝牙开发android 蓝牙开发 ble 难吗阶乘函数阶乘怎么算?blacken曲婉婷ShineOverme中英文歌词
虚拟主机评测 快速域名备案 双11抢红包攻略 parseerror 京东商城双十一活动 40g硬盘 129邮箱 网通服务器托管 百度云加速 贵阳电信 wordpress中文主题 国内空间 贵州电信 最新优惠 压力测试工具 隐士ddos dmz主机 免费免备案cdn 灵动鬼影实录剧情 灵动:鬼影实录4 更多