使用Ant编译项目报找不到符号

项目场景:

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包的问题

猜你喜欢

转载自blog.csdn.net/u012129030/article/details/127054588