关闭

运行ant脚本提示,错误: 找不到符号的 解决办法

标签: ant异常脚本
3565人阅读 评论(0) 收藏 举报
分类:

在运行ant脚本时,我们一般都会用到javac命令来对项目进行编译。当运行javac命令对项目编译时,肯定需要依赖项目的jar包,此外还要引用一些jdk的jar包,这就需要在ant的javac中配置引入相关的jar包,如果在这些jar没有在ant中正确引入,则有可能会报“错误: 找不到符号”的异常:
这里写图片描述
如果遇到这样的异常,一般都是项目编译依赖的jar包没有正确引入而引起的,这时就检查编译依赖的jar包是否都正确引入了。
但是,有时候就算正确的引入了jar包,也有可能报这样的错误,特别是引用jdk里面的jar的时候,就像我的某个项目引用了jdk的rt.jar。

ant配置:
这里写图片描述
javac通过classpath标签把项目编译依赖的jar包引入进来,我这里通过build.classpath指定了依赖的jar包的路径:
这里写图片描述
可以看到,项目编译时引入了项目lib下所有的jar包,同时也引入了jdk中的jar包,通过这样的配置就把javac依赖的jar引入进来了,而且正确无误,可为什么就是报错呢???
出现这样的问题在于javac命令的行为。当javac在编译代码时,当他尝试从rt.jar中找寻对应的类文件时,他会默认从对应的符号表文件ct.sym (同样在jre/lib/下)中查找该类是否存在,由于ct.sym中有意或无意的遗失了部分rt.jar中的类,或者根本就不存在ct.sym时,就算正确引入了jar包也会报上面的错,这时候就需要对javac命令配置,使其在编译时不用检查符号表,而是直接查找jar包:
增加配置参数:-XDignore.symbol.file
这里写图片描述

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:28649次
    • 积分:564
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:0篇
    • 译文:1篇
    • 评论:3条
    最新评论