Espelhamento dos pacotes por diretórios:
Pacotes Java são mapeados para diretórios no sistema de arquivos.
Três formas para o Java Runtime encontrar pacotes:
Diretório de trabalho atual: O sistema de tempo de execução usa o diretório de trabalho como ponto de partida. Se o pacote estiver em um subdiretório do diretório atual, ele será encontrado.
Variável CLASSPATH: Pode-se configurar a variável de ambiente CLASSPATH para incluir o caminho dos pacotes.
Opção -classpath: Usar as opções -classpath com os comandos java e javac para especificar o caminho das classes ao compilar e executar o programa.
Exemplo de Pacote:
package mypack;
Para que o programa encontre o pacote mypack, uma das seguintes condições deve ser verdadeira:
O programa é executado a partir de um diretório acima de mypack.
O CLASSPATH inclui o caminho de mypack.
A opção -classpath é usada para especificar o caminho de mypack.
Recomendação para organização de diretórios:
Mantenha todos os arquivos .java e .class relacionados ao pacote no diretório correspondente ao pacote.
Compile os arquivos a partir do diretório acima do pacote.
Exemplo de Código e Execução
Estrutura de Diretórios:
src/
mypack/
MyClass.java
Main.java
- Definindo o Pacote (mypack/MyClass.java):
package mypack;
public class MyClass {
public void displayMessage() {
System.out.println("Pacote mypack encontrado!");
}
}
- Usando a Classe do Pacote (Main.java):
import mypack.MyClass; // Importando a classe do pacote mypack
public class Main {
public static void main(String[] args) {
MyClass myClass = new MyClass(); // Criando uma instância de MyClass
myClass.displayMessage(); // Chamando o método
}
}
Compilação e Execução
- Compilando os Arquivos A partir do diretório acima de mypack, compile com:
javac mypack/MyClass.java Main.java
- Executando o Programa Execute o programa a partir do diretório de trabalho atual ou especifique o -classpath:
java Main
ou
java -classpath . Main
Explicação:
Diretório de Trabalho Atual: Se o diretório atual estiver acima de mypack, o pacote será encontrado.
CLASSPATH: Pode ser configurada para incluir o diretório de mypack.
Opção -classpath: Pode ser usada para indicar o caminho de mypack durante a execução.
Saída do programa:
Pacote mypack encontrado!
Top comments (0)