DEV Community

Encontrando Pacotes e CLASSPATH

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

Enter fullscreen mode Exit fullscreen mode
  1. Definindo o Pacote (mypack/MyClass.java):
package mypack;

public class MyClass {
    public void displayMessage() {
        System.out.println("Pacote mypack encontrado!");
    }
}

Enter fullscreen mode Exit fullscreen mode
  1. 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
    }
}

Enter fullscreen mode Exit fullscreen mode

Compilação e Execução

  1. Compilando os Arquivos A partir do diretório acima de mypack, compile com:
javac mypack/MyClass.java Main.java

Enter fullscreen mode Exit fullscreen mode
  1. Executando o Programa Execute o programa a partir do diretório de trabalho atual ou especifique o -classpath:
java Main

Enter fullscreen mode Exit fullscreen mode

ou

java -classpath . Main

Enter fullscreen mode Exit fullscreen mode

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!

Enter fullscreen mode Exit fullscreen mode

Top comments (0)