erro de instalação do maven: não é possível encontrar o símbolo

0. Descrição do problema

Quando o projeto é empacotado, verifica-se que a execução do maven install reportará um erro: o símbolo não pode ser encontrado

[ERROR] /Library/project/work/fantu_java/digitalenterprise_business/bladex-biz/blade-service-api/blade-fleet-basic-api/src/main/java/org/springblade/fleetbasic/feign/IBasicGoldMedalDriverAreaFeign.java:[18,38] 找不到符号
  符号:   变量 APPLICATION_FLEET_BASIC_PROVIDER_NAME
  位置: 接口 org.springblade.common.constant.LauncherConstant
[ERROR] /Library/project/work/fantu_java/digitalenterprise_business/bladex-biz/blade-service-api/blade-fleet-basic-api/src/main/java/org/springblade/fleetbasic/feign/IBasicFileFeign.java:[20,38] 找不到符号
  符号:   变量 APPLICATION_FLEET_BASIC_PROVIDER_NAME
  位置: 接口 org.springblade.common.constant.LauncherConstant

1. Soluções

Antes de tudo, precisamos esclarecer as possíveis razões para esse problema:

  • O formato de codificação do projeto não é uniforme
  • A versão do JDK usada pela codificação do projeto é inconsistente
  • A dependência pom não é adicionada ou não pode ser lida, o que geralmente é o problema de números de versão inconsistentes
  • Os bugs da ferramenta de desenvolvimento geralmente são resolvidos reiniciando ou atualizando a versão

O primeiro motivo que eu descartei é o problema de dependência do pom, pois as dependências correspondentes foram adicionadas ao projeto, e é normal rodar em idea, ou seja, maven install irá reportar um erro

Em segundo lugar, verifiquei que a versão jdk do projeto é 1.8, então o segundo motivo também está descartado

Então tentei especificar o formato de codificação no pom novamente, mas ainda relatou um erro após a reinstalação.

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-compiler-plugin</artifactId>
     <version>3.3</version>
     <configuration>
       <source>1.8</source>
       <target>1.8</target>
       <encoding>UTF-8</encoding>
     </configuration>
  </plugin>

Descobri que não conseguia passar por aqui, então suspeitei que era um problema com o ambiente local, então instalei novamente após reiniciar. Encontrado ainda errado. Tente deixar outros colegas maven instalarem, desta vez há um fenômeno mais mágico, alguns colegas podem instalar normalmente, e alguns colegas relatam o mesmo erro que eu.

Quando você vê isso, você consegue pensar no que causou isso?

2. Solução Final

Na verdade, às vezes precisamos enxergar a essência da resolução de problemas e fortalecer nosso conhecimento. Assim como esta pergunta, os motivos que aprendi são os quatro mencionados acima, e procurei informações relevantes, e existem apenas esses quatro.

E alguns colegas podem fazer as malas, outros não, o que significa que não é um problema do meio ambiente. Então eu verifiquei novamente as dependências do pom, focando no pacote jar onde a classe de interface LauncherConstant está localizada, que está em nosso módulo commons customizado. Quando verifiquei o pom deste commons, encontrei o problema

O método de empacotamento em commons, não sei qual colega o definiu como pom, o que leva ao fato de que commons não foi empacotado em jar, portanto, não pode ser referenciado. Alguns colegas podem empacotar normalmente porque o módulo commons não foi reinstalado e ainda existem pacotes jar do módulo commons no repositório maven local.

A solução também é muito simples, ou seja, alterar o pacote para jar, ou excluir esse rótulo diretamente, pois o método de embalagem padrão é jar caso o método de embalagem não seja preenchido no pom

<packaging>jar</packaging>

Também nos lembra de prestar atenção aos detalhes no desenvolvimento do projeto.Se alguns pequenos pontos de conhecimento não forem bem compreendidos, é provável que causem problemas difíceis de solucionar.

Acho que você gosta

Origin blog.csdn.net/qq_24950043/article/details/124076979
Recomendado
Clasificación