2
respostas

[Dúvida] Não estou conseguindo criar o arquivo .jar com o Manifest.mf populado com a MainClass informada

Essa é a estrutura das minhas pastas:

PastaPrincipal
└── teste
│   ├── Teste.java
│   └── Teste.class
├── Manifest.mf

Comandos executados:

jar -cfm teste.jar Manifest.mf teste

java -jar teste.jar

Erro obtido:

no main manifest attribute, in teste.jar
2 respostas

Olá, Lucas!

Pelo que entendi, você está tendo dificuldades em criar o arquivo .jar com o Manifest.mf populado com a MainClass informada, certo?

O erro "no main manifest attribute, in teste.jar" indica que o arquivo .jar não possui a atribuição correta para a classe principal (MainClass) no Manifest.mf.

Para resolver esse problema, você precisa garantir que o arquivo Manifest.mf esteja corretamente configurado, especificando a classe principal. No seu caso, o conteúdo do arquivo Manifest.mf deve ser algo como:

Main-Class: teste.Teste

Certifique-se de que o nome da classe principal esteja correto e que esteja no formato correto, com o nome do pacote seguido pelo nome da classe separados por ponto.

Após ajustar o conteúdo do Manifest.mf, você pode criar o arquivo .jar novamente executando o comando:

jar -cfm teste.jar Manifest.mf teste

Dessa forma, o arquivo .jar será criado com o Manifest.mf populado corretamente.

Espero ter ajudado e bons estudos!

Isso, esse seria o problema. Mesmo executando o passo a passo que você me passou, quando executo a classe Teste o erro mencionado ocorre. Abrindo o MANIFEST.MF do teste.jar criado, o arquivo contém somente essas informações, ou seja, parece que mesmo informando qual o arquivo manifest para ele utilizar na criação do .jar, é ignorado e criado o manifest default.

Manifest-Version: 1.0
Created-By: 1.8.0_361 (Oracle Corporation)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software