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

原创 2016年08月31日 11:33:46

在运行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
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

Visual Studio 2010 编译 MongoDB C++ Client Driver(看这里,终于解决了编译问题,谢谢大神的分享)

一、编译准备 1. 安装scons (1) 下载python2.7, 使用x86_32位,因为scons只有32位安装包可用; (2) 下载scons2.3.0,Th...
  • caowei840701
  • caowei840701
  • 2013年05月17日 20:10
  • 1165

解决找不到msvcr120d.dll的问题

msvcr120d.dll控件常规安装方法(仅供参考): 一、如果在运行某软件或编译程序时提示缺少、找不到msvcr120d.dll等类似提示,您可将从脚本之家下载来的msvcr120d.dll拷贝...
  • late0001
  • late0001
  • 2015年09月11日 01:01
  • 1689

jenkins 用 Maven 打包出现 找不到符号 问题的解决方法

1 发现问题今天用 持续集成工具 jenkins 打包一个新项目,出现了很多错误:... [ERROR] [ERROR] \ideaProjects\xxx\ProjectService.java:...
  • deniro_li
  • deniro_li
  • 2017年03月17日 18:38
  • 2186

maven报错:找不到符号

语言:java和scala并用 场景:存在java调用scala代码的情况 maven版本:3.5.1 IDE:IDEA 2017.1maven报错:找不到符号并列出找不到的类或程序所在的程序包...
  • ilvchocolate
  • ilvchocolate
  • 2017年07月21日 10:39
  • 1170

org.apache.http不存在的问题

Android sdk 22 以后删除了httpClient的jar包,如果您的项目较老,请使用以下引用:useLibrary 'org.apache.http.legacy'或者下载:httpcli...
  • liuzhenlee
  • liuzhenlee
  • 2017年03月27日 21:08
  • 852

JAVA 编译找不到符号

通常情况下,我们在编写java文件时,会有引用到自已定义的一些类,如果按通常的javac *.java的形式来编译会出现找不到符号的错误。 以下提供了两种方法,以供参考 假如在d:/web...
  • Mark_LQ
  • Mark_LQ
  • 2015年04月07日 20:04
  • 2753

解决Maven编译(maven install)时,出现的“找不到符号”的问题

搞了半天,Tomcat可以正常启动,就是Maven编译的时候一直出现“找不到符号”,网上到处找方法,说什么执行一下maven clear之类的,根本没用。 于是自己想了想,看到出错的行,是j...
  • MarkSorin
  • MarkSorin
  • 2016年10月31日 17:47
  • 17164

ant编译时报错:程序包junit.framework不存在

代码附带率测试的时候,需要用ant编译工程,但编译不通过,报程序包junit.framework不存在的错;   可是直接运行junit测试的时候没有任何问题。 最后发现将junit的jar包复...
  • tt75281920
  • tt75281920
  • 2015年05月24日 17:25
  • 2404

用Ant批量执行Junit 测试

用Ant将自动化程序打包成jar,然后执行。 本文将介绍Ant的基本用法。 1. 下载 Ant http://ant.apache.org/bindownload.cgi Win...
  • rayannawang
  • rayannawang
  • 2014年03月04日 17:12
  • 938

ant泛型编译问题解决及环境搭建

1:确保ant环境已经搭建好,然后下 ant环境搭建参考:http://www.cnblogs.com/hoojo/archive/2013/06/14/java_ant_p...
  • kun20031029
  • kun20031029
  • 2014年05月08日 12:30
  • 698
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:运行ant脚本提示,错误: 找不到符号的 解决办法
举报原因:
原因补充:

(最多只允许输入30个字)