几步实现Ant语法校验

在写Ant的build.xml脚本时总不如写web.xml等那样爽(可以实现自动完成提示),因而速度慢,一不小心还写错了。下面分享一下本人实现Ant语法提示的步骤,其实很简单,不过费了我点时间。

 

1、首先在任意一个目录创建一个build.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
       <project name="antdtd" default="makedtd">
              <target name="makedtd">
                   <antstructure output="ant.dtd" />
              </target>
       </project>

 

2、假如上述build.xml文件在d:/,则进到该目录,执行ant命令即可。(当然必须先安装并设置好Ant)

此处会有一个小问题,构建会有异常,因为缺少一个commons-net包,但ant.dtd文件还是会生成,只是比最终需要的文件小很多,于是下载http://mirror.bjtu.edu.cn/apache//commons/net/binaries/commons-net-1.4.1.zip,将解压后的commons-net-1.4.1.jar放到ANT_HOME的extlib目录下,并用如下命令再次构建:ant -lib %ANT_HOME%/extlib。OK,没有错误提示,ant.dtd顺利生成,约200KB。

 

3、把该文件拷贝到MyEclipse中并和build.xml文件放在同一个目录,准备用它来对我的build.xml文件进行提示,但复制过来后发现MyEclipse中报该文件有错误。

 

a. the name token is required in the enumerated type list for the "timestampgranularity"  attribute declaration

b. the name token is required in the enumerated type list for the "serverlanguagecodeconfig"  attribute declaration

 

此时,把这两个提示所在行的代码都剪切出来注释掉(以后使用ftp命令时需要留意一下这两个属性)。完成后,我的ant.dtd已经没有错误提示了,但是我的build.xml还是提示说我的dtd文件有问题,参照网上的资料,提到target元素有问题,于是搜索ant.dtd文档,发现有两次target元素的定义,将其中的一个:

 

<!ELEMENT target EMPTY>

 

注释掉即可,因为Ant中的target并不是"No children allowed",到此dtd文件的生成和修改就玩成了。

 

最后,只要在build.xml中加入如下的文档类型声明就可以了:

 

<!DOCTYPE project SYSTEM "ant.dtd">

 

当然,你可以把它上传到你的网盘,然后使用绝对路径的形式指向该dtd文件,O(∩_∩)O~。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值