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.