Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

sintaxe compilação ":"

até funciona com a sintaxe: javac -cp programa.jar:. b/A.java

mas o padrão é mesmo com os dois pontos ?

assim não fica mais limpo? ( e de acordo com o texto da explicação: https://cursos.alura.com.br/course/certificacao-java-basico/task/5847) javac -cp programa.jar b/A.java

( no texto de explicação estava assim: $ javac -cp /diretorio/biblioteca.jar;/outrodir/ scjp/Prova.java $ java -cp /diretorio/biblioteca.jar;/outrodir/ scjp.Prova )

e não seria o caso de usar o ponto e vírgula para separar vários jars , e não usar mais nada qnd só se tem um jar? Digo, apenas pra frisar a diferença.

não tô falando por questão de acertar a questão, mas os dois pontos são o padrão mesmo?

att

5 respostas
solução!

Olá Herbert,

Utilizamos os dois pontos no Mac e no Linux e somente para o Windows precisamos usar o ponto e vírgula como separador.

Sobre as linhas que você mostrou, vamos analisar:

javac -cp programa.jar b/A.java

Aqui você está pedindo para compilar o arquivo b/A.java e se nesse arquivo você precisar importar alguma classe, o compilador irá buscar apenas no programa.jar que foi especificado no classpath.

Já no seguinte caso:

javac -cp programa.jar:. b/A.java

Agora estamos compilando o arquivo b/A.java e se precisamos importar alguma classe, o compilador irá buscar essa classe primeiro no programa.jar e depois no diretório atual (representado pelo .)

entendi. Eu acho que não estava no vídeo nem no texto. Eu não procurei em outras fontes. (Sobre o "." ser diretório atual até é intuítivo, e falava no texto. Mas sobre os ":" acho que não fala.

[obs: ver apenas o post abaixo]

Bom, os ":" são para o Linux....eu estava invertendo a lógica. Inclusive eu só uso linux e funcionou..

Mas então os dois pontos ali só estão separando o "programa.jar" do diretório atual "." , certo?

se fossem dois jars ficaria assim: javac -cp /diretorio/biblioteca.jar:/outrodir/jar2.jar/ b/A.java

Isso aí Herbert! Só não pode ter aquela barra depois do jar2.jar.

ah sim, foi errado ali a barra. E falava no texto sim..eu q não interpretei direito. valeu..