Definir classpath em Java

Mohammad Irfan 30 janeiro 2023
  1. Como definir o Classpath em Java?
  2. Configurando Classpath em Java
  3. Definindo Classpath usando Variáveis ​​de Ambiente
  4. Definindo classpath na linha de comando
  5. Configurando Classpath usando a opção -classpath
  6. Visualizando o Classpath
  7. Resumo
Definir classpath em Java

Este tutorial apresenta o procedimento para definir o caminho de classe em Java e lista alguns códigos de exemplo para entender o tópico.

Como definir o Classpath em Java?

Freqüentemente, importaremos classes externas ou definidas pelo usuário para disponibilizá-las para uso em nossa classe atual. A instrução import é usada para fazer isso em Java.

import org.projects.DemoClass;
DemoClass dc = new DemoClass();

Seria impossível para a JVM percorrer todos os diretórios em nosso sistema e encontrar a classe apropriada. A JVM usa o classpath para localizar as classes e jars necessários. Neste tutorial, aprenderemos como definir o caminho de classe em Java.

Configurando Classpath em Java

  • Podemos definir o caminho de classe como uma variável de ambiente. Ou podemos usar a linha de comando para fazer isso.
  • Antes de começar, precisamos saber que o valor padrão do classpath é o diretório atual. É definido usando um ponto (.). Mudar o caminho de classe irá alterar este valor padrão. Se você tiver classes ou jars presentes no diretório atual, inclua o diretório atual no caminho de classe.
  • Podemos especificar vários caminhos de classe usando separadores. Se você estiver usando o sistema operacional Windows, o separador é um ponto-e-vírgula (;). Se você estiver em sistemas baseados em Linux / Unix, os dois pontos (:) são usados ​​como separador.

O código abaixo demonstra isso. Estamos tentando incluir todas as classes do diretório atual (usando ponto) e dois arquivos JAR.

.;C:\javaProjects\someJAR.jar;C:\javaOldProjects\someOldJAR.jar //For Windows
.:/javaProjects/someJAR.jar:/javaOldProjects/someOldJAR.jar   //For Linux/Unix
  • Classpaths podem conter o caminho para os arquivos jar e o caminho para o pacote principal de nossas classes. Por exemplo, se o caminho do arquivo DemoClass.class for C:\javaProjects\org\projects\DemoClass.class, então podemos definir o classpath para C:\javaProjects e usar a seguinte instrução de importação.
import org.projects.DemoClass;

Definindo Classpath usando Variáveis ​​de Ambiente

É uma boa ideia adicionar um caminho de classe à variável de ambiente se tivermos um local fixo que sempre conterá os jars e os arquivos de classe necessários. Precisamos encontrar as variáveis ​​de ambiente do sistema e adicionar a variável CLASSPATH se ausente. A seguir, adicionaremos todos os caminhos dos jars e das classes.

Em um sistema Windows,

  1. Clique no ícone Computador e abra as propriedades no canto superior esquerdo.
  2. Clique em Propriedades avançadas do sistema> Avançado> Variáveis ​​de ambiente.
  3. Encontre a variável CLASSPATH e adicione os caminhos a ela. Se a variável CLASSPATH estiver ausente, primeiro precisamos adicionar a variável.

Definindo classpath na linha de comando

Podemos usar o comando set CLASSPATH no Windows para definir o classpath. Precisamos separar caminhos diferentes usando o ponto-e-vírgula no Windows. No exemplo abaixo, estamos adicionando o diretório atual e um arquivo JAR ao classpath.

$ set CLASSPATH=.;C:\javaProjects\someJAR.jar

No Linux / Unix, podemos usar o comando export CLASSPATH para definir o classpath. Use os dois pontos como separador para vários caminhos.

$ export CLASSPATH=.:/javaProjects/someJAR.jar

Configurando Classpath usando a opção -classpath

Podemos usar a opção -classpath ou -cp para definir o caminho de classe ao compilar e executar os arquivos de classe. O código abaixo demonstra isso.

$ javac -classpath .;C:\javaProjects\someJAR.jar SomeClass.java
$ java -classpath .;C:\javaProjects\someJAR.jar SomeClass

Visualizando o Classpath

Podemos verificar se nosso caminho de classe foi definido com sucesso ou não usando os comandos a seguir.

Para Windows:

echo %CLASSPATH%

Para sistemas baseados em Linux / Unix:

echo $CLASSPATH

Resumo

O caminho de classe é o local onde a JVM procurará classes, arquivos JAR e outros recursos. Definir o caminho de classe correto garante que nosso aplicativo Java seja executado sem problemas. Se o classpath não estiver definido corretamente, podemos obter ClassNotFoundException ou NoClassDefFoundError. Podemos definir as variáveis ​​de ambiente ou usar a linha de comando para definir o caminho de classe. Definir variáveis ​​de ambiente globais para o caminho de classe não é recomendado. Recomenda-se usar a opção -cp ou -classpath da linha de comando para especificar o classpath. Isso garantirá que nenhuma configuração global seja alterada.

Artigo relacionado - Java Class