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?
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?
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:
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.
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!