O que exatamente o comando do tipo:
java -cp produtos-1.0-SNAPSHOT.jar br.com.alura.maven.App
faz? Não entendi muito bem. O que seria adicionar no classpath? É necessário passar um parâmetro para cp sempre que eu executar esse comando?
O que exatamente o comando do tipo:
java -cp produtos-1.0-SNAPSHOT.jar br.com.alura.maven.App
faz? Não entendi muito bem. O que seria adicionar no classpath? É necessário passar um parâmetro para cp sempre que eu executar esse comando?
Oi Alexandre,
O comando java serve para executar alguma classe Java(que contenha o método main).
Por exemplo, se o projeto tem uma classe chamada Principal, que contem o método Main, para executá-la basta rodar o comando:
java br.com.exemplo.Principal
Mas se essa classe Principal depender de alguma outra classe que esteja dentro de algum Jar, ou seja, cujo arquivo .class não esteja junto no mesmo diretório que o arquivo Principal.class, você deve indicar ao Java de onde ele deve ler as outras classes, passando o parâmetro -cp, que significa ClassPath, ou seja, caminho das classes.
java -cp biblioteca.jar br.com.exemplo.Principal
No comando anterior ele vai executar o Main da classe Principal e ler também todas as classes que estiverem no jar chamado biblioteca.jar
Faz sentido?
Bons estudos!
Obrigado Rodrigo. Entendi perfeitamente.