olá pessoal,
Gostaria que me explicasse a seguinte questao:
Dado o classpath padrão:
/foo
E esta estrutura de diretórios:
foo
|
test
|
xcom
|-- A.class
|-- B.java
package xcom;
public class A { }
package xcom;
public class B extends A{ }
Qual opção permiteque B.java compile? (Marque todas as corretas)
A. Definir o diretório atual como xcom e depois chamar
javac B.java
B. Definir o diretório atual como xcom e depois chamar
javac -classpath . B.java
C. Definir o diretório atual como test e depois chamar
javac -classpath . xcom/B.java
D. Definir o diretório atual como test e depois chamar
javac -classpath xcom B.java
E. Definir o diretório atual como test e depois chamar
javac -classpath xcom:. B.java
A resposta é a letra C.
Letra A: nao procura a A.class necessário para B compilar. ERRADA
Letra B: diretorio atual é xcom, o . é usado para procurar .class no diretório atual(xcom) entao pq esse item nao é correto ?
Letra C: diretório atual é test, como ele vai encontrar .class no diretório atual(test) ?
Letra D: ERRADA
Letra E: ERRADA
Na explicacao, diz que se o diretório atual for xcom, nao vai encontrar A.class, nao entendi por que ? pois tem o . para procurar pelo .class no diretorio atual.
Obrigado