1
resposta

Duvida no exercício 4: Escolha a opção adequada para rodar a classe A.java presente no diretório b, que foi compactado em um arquivo chamado programa.jar, sendo que não existe nenhum arquivo de manifesto:[..]

Boa tarde!

Caso tivéssemos um manifest(indicando a classe com o método main) no zip programa.jar deveria ser executado da seguinte forma: java -jar programa.jar? e se executássemos da seguinte forma: java -cp programa.jar b.A daria erro?

1 resposta

Oi Carlesson, tudo joia?

Você está no caminho certo ao pensar sobre o manifesto e a execução de arquivos JAR. Vamos esclarecer alguns pontos:

  1. Manifesto no JAR: Quando um arquivo JAR contém um manifesto que especifica a classe principal (aquela com o método main), você pode executá-lo usando o comando:

    java -jar programa.jar
    

    Isso funciona porque o manifesto informa ao Java qual classe deve ser executada.

  2. Sem Manifesto: No caso de não haver um manifesto no arquivo JAR, você precisa especificar a classe principal manualmente. A opção correta para executar a classe A que está no pacote b seria:

    java -cp programa.jar b.A
    

    Aqui, -cp (ou -classpath) diz ao Java onde procurar as classes, e b.A especifica a classe que contém o método main.

Portanto, a resposta correta para o exercício é realmente a opção E) java -cp programa.jar b.A.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.