项目场景:
spring项目 + eclipse
问题描述
通过ant执行 build.xml文件,总是报 找不到符号或者是某个jar包不存在:
[javac] D:\study\workspace\spring-project\src\main\java\brave\mysql\PersistPlusTracingStatementInterceptor.java:4: 错误: 找不到符号
[javac] import brave.mysql.TracingStatementInterceptor;
[javac] ^
[javac] 符号: 类 TracingStatementInterceptor
[javac] 位置: 程序包 brave.mysql
[javac] D:\study\workspace\spring-project\src\main\java\brave\mysql\PersistPlusTracingStatementInterceptor.java:5: 错误: 程序包brave.propagation不存在
[javac] import brave.propagation.ThreadLocalSpan;
[javac] ^
[javac] D:\study\workspace\spring-project\src\main\java\brave\mysql\PersistPlusTracingStatementInterceptor.java:7: 错误: 程序包com.mysql.jdbc不存在
[javac] import com.mysql.jdbc.Connection;
[javac] ^
[javac] D:\study\workspace\spring-project\src\main\java\brave\mysql\PersistPlusTracingStatementInterceptor.java:8: 错误: 程序包com.mysql.jdbc不存在
原因分析:
通过build.xml文件查看发现在复制 jar包时,复制了${basedir}/src/main/webapp/WEB-INF/lib
下的jar包,但是发现里面的jar包并不全,有些maven引用的jar包不存此文件夹中,所以总是报某些jar包不存在,于是找到 D:\study\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\meicloud-report\WEB-INF\lib
路径,并进行配置于是maven引用的jar包能够成功识别,如果不是通过maven引用的jar包可以通过把jar包放到 C:\Program Files\Java\jre1.8.0_333\lib\ext
该路径下也可以解决 jar包引用不到的问题,具体情况可以具体来操作
解决方案:
1、复制jar包时引用 D:\study\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\meicloud-report\WEB-INF\lib
路径下的jar包,这个路径下的jar包比较全
2、也可以通过 把引用不到的jar包放入到 C:\Program Files\Java\jre1.8.0_333\lib\ext
路径下也可以解决引用不到jar包的问题