O erro "no main manifest attibute"

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa

Antes de começar

Trata-se de um erro na execução de um aplicativo standalone, .jar, pelo desenvolvedor. O suporte da hospedagem não poderá fornecer qualquer suporte ou análise do seu aplicativo, ou POM criado.

Como corrigir

Se estiver usando o spring-boot-maven-plugin no seu pom.xml deve haver a seguinte entrada: <build>

   <plugins>
       <plugin>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-maven-plugin</artifactId>             
           <configuration>    
               <mainClass>br.com.integrator.Demo</mainClass>
           </configuration>
       </plugin>
   </plugins>

</build>

A explicação

Para corrigir, adicionamos no pom.xml a propriedade mainClass como apresentado no exemplo. A classe Main é a que possui o método principal, public static void main(String[] args), que precisa ser executado como ponto de partida do aplicativo.

<mainClass>br.com.integrator.Demo</mainClass>


Ao realizar essa mudança no POM, o arquivo MANIFEST.MF será gerado, na criação do arquivo standalone (.jar) com a devida entrada da classe principal (main), como apresentado no exemplo a seguir.


MANIFEST.MF
Manifest-Version: 1.0
Built-By: Edson Goncalves
Build-Jdk: 1.17.0
Created-By: Maven Integration for Eclipse
Main-Class: br.com.integrator.Demo