Jar empacotado Springboot, use java -cp para relatar um erro: a classe principal não pode ser encontrada ou não pode ser carregada

pergunta

Jar empacotado Springboot, use java -cp para relatar um erro: a classe principal não pode ser encontrada ou não pode ser carregada

Solução

Existem algumas diferenças entre os arquivos empacotados pelo springboot e o método geral de inicialização do java.

Ele precisa ser modificado para usar o seguinte comando e, em seguida, adicionar a classe: org.springframework.boot.loader.PropertiesLauncher, como segue:
java -cp .:test-0.0.1-SNAPSHOT.jar -Dloader.main=com .aa.commonorg.springframework.boot.loader.PropertiesLauncher

Comente

org.springframework.boot.loader.PropertiesLauncherÉ uma classe inicial especial no Spring Boot. Sua principal função é carregar e analisar o arquivo de propriedades de um aplicativo Spring Boot e aplicar essas propriedades ao contexto do aplicativo ao iniciar o aplicativo.

Especificamente, PropertiesLauncherele é responsável pelas seguintes tarefas:

  1. Carregando o arquivo de propriedades do aplicativo: os aplicativos Spring Boot normalmente usam arquivos application.propertiesou application.ymlpara configurar as propriedades do aplicativo. PropertiesLauncherResponsável por carregar esses arquivos de propriedades para que a aplicação possa utilizar essas configurações.

  2. Analise as propriedades no arquivo de propriedades: PropertiesLauncheranalise os pares chave-valor no arquivo de propriedades e converta-os em propriedades para o aplicativo Spring Boot. Essas propriedades podem ser usadas no contexto do aplicativo para configurar vários componentes e comportamentos.

  3. Fornece suporte para propriedades externas: além do arquivo de propriedades padrão, PropertiesLaunchertambém suporta o carregamento de propriedades externas. Usando argumentos de linha de comando ou variáveis ​​de ambiente, você pode especificar arquivos de propriedades adicionais ou valores de propriedades que são mesclados com as propriedades padrão do aplicativo.

  4. Tratamento de espaços reservados para valores de propriedades: Em um arquivo de propriedades, você pode usar ${...}espaços reservados para referenciar os valores de outras propriedades. PropertiesLauncherResponsável por analisar esses espaços reservados e substituí-los pelos valores de atributos corretos.

Resumindo, org.springframework.boot.loader.PropertiesLauncheré uma classe inicial do Spring Boot usada para carregar e analisar o arquivo de propriedades do aplicativo e aplicar essas propriedades ao contexto do aplicativo. Ele desempenha um papel importante ao iniciar um aplicativo Spring Boot, garantindo que o aplicativo use a configuração e as propriedades corretas.

Acho que você gosta

Origin blog.csdn.net/Mint6/article/details/131773930
Recomendado
Clasificación