Cenário do projeto:
spring项目 + eclipse
Descrição do Problema
通过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不存在
Análise de causa:
Por meio do arquivo build.xml, verifica-se que quando o pacote jar é copiado, o pacote jar é copiado ${basedir}/src/main/webapp/WEB-INF/lib
, mas o pacote jar dentro não está completo e alguns pacotes jar referenciados pelo maven não são armazenados nesta pasta, então alguns jar pacotes são sempre relatados Não existe, então encontrei D:\study\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\meicloud-report\WEB-INF\lib
o caminho e configurei-o para que o pacote jar referenciado pelo maven possa ser identificado com sucesso. Se o pacote jar não for referenciado pelo maven, o problema de o pacote jar não poder ser referenciado C:\Program Files\Java\jre1.8.0_333\lib\ext
pode ser resolvido colocando o pacote jar neste caminho. Especificamente A situação pode ser específica
solução:
1. Ao copiar o pacote jar, consulte D:\study\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\meicloud-report\WEB-INF\lib
o pacote jar no caminho. O pacote jar neste caminho está relativamente completo . 2. Você também pode resolver o problema de não citar o pacote jar
colocando o pacote jar que não pode ser referenciado para o caminho.C:\Program Files\Java\jre1.8.0_333\lib\ext