[Resolvido] Importando arquivo .jar manualmente no classpath do Java

Olá pessoal, estou voltando com um projeto/meta que desejo aprender e concluir que é utilizar um banco de dados do microsoft “Access” junto com o Java.

Os exemplos que encontrei ensinam somente a configurar o “ucanaccess” no NetBeans e no Eclipse, e eu estou programando tudo manualmente.

Como adiciono os arquivos .jar ao projeto no classpath, que é a única informação que tenho de que se deve adicionar arquivos .jar no classpath. Mas como fazer isso?

Tenho que adicionar esses 5 (cinco) arquivos .jar ao projeto, manualmente:

Como configuro os .jar’s aqui:

Obrigado por qualquer ajuda!

No seu projeto no NetBeans ou Eclipse se você clicar com o botão direito em cima dele, vai ter uma opção chamada normalmente “Propriedades”, nesse menu lá tem as opções de adicionar .jar externos para o classpath (normalmente fica em biblioteca ou adicionar jar externo), acho que você está confundindo as VARIÁVEIS DE AMBIENTE JAVA com bibliotecas externas java.

Certo. Talvez não seja alterar as variáveis de ambiente do java.

Mas a pergunta fica: - Como adicinar arquivos .jar no Java manualmente? Talvez na linha de comando, não sei…

Obrigado por qualquer ajuda!

Tu fala, sem usar uma IDE?

1 curtida

Sem IDE?? As vezes é possivel abrir um .jar com winrar ou zip e colocar manualmente na pasta de Libs, fora isso da pra usar o javac pelo cmd.

1 curtida

Na linha de comando, basta passar os nomes dos arquivos com a opção -cp:

// compilar
javac -cp "arq1.jar;arq2.jar" Arquivo.java

// executar
java -cp "arq1.jar;arq2.jar" Arquivo

Lembrando que os arquivos são separados por ; no Windows, e por : no Linux.

Outra opção é colocar todos os jars na mesma pasta e fazer:

javac -cp "pasta/*" Arquivo.java
1 curtida

Olá amigos,

Isso mesmo. Programar, pelo menos por enquanto, usando bloco de texto e o compilador java.

Eu acho que achei algo, mas to tentando fazer funcionar:

Acredito que o comando “-cp” deva ser “Class Path”.

Estou usando a opção de cima que chama o “compilador” java somente com “java” ao invés de “javac”. Pois na opção de cima com “java” (Sem o “c”) eu posso compilar meu programa também junto.

Acho que é esse o caminho. Mas ainda não consegui adicionar esses arquivos .jar.

Segue um exemplo de como esta a “compilação”, ainda sem resultado:

java -cp lib/ucanaccess-5.0.1.jar;lib/hsqldb-2.5.0.jar; lib/jackcess-3.0.1.jar;lib/commons-lang3-3.8.1.jar;lib/commons-logging-1.2.jar; Dados.java`

O comando acima funciona, compila. Porém da erro no Driver:

Programa completo caso seja do interesse de alguén:

public class Dados
{
final private static String driver = “net.ucanaccess.jdbc.UcanaccessDriver”;
//final private static String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
final private static String url = “jdbc:ucanaccess://Dados.accdb”; // //Dados.mdb
final private static String usuario = “”;
final private static String senha = “”;
private static Connection conexao;
//private Connection conexao; // A variavel “Connection” não precisa ser o nome da classe do programa total
public Statement statment;
public ResultSet resultset;

public static void main(String[] args)
{
try
{

     Class.forName(driver);
     conexao = DriverManager.getConnection(url,usuario,senha);
     JOptionPane.showMessageDialog(null,"Conexão ao banco efetuado com sucesso","Conectado", JOptionPane.PLAIN_MESSAGE);
  }
  catch(Exception ex)
  {
     JOptionPane.showMessageDialog(null,"Erro executando programa: " + ex, "Erro", JOptionPane.ERROR_MESSAGE);
  }

}
}

Muito obrigado por qualquer ajuda. Acho que falta pouco pra fazer funcionar.

Obrigado!

Não, javac é o compilador (que transforma os seus arquivos .java nos respectivos .class), e java é o que executa o programa (a partir de um .class ou .jar).

Então primeiro você compila:

javac -cp "lista de jars" Dados.java

Isso vai gerar o arquivo Dados.class.

E depois você executa, mas não esqueça de adicionar no classpath o diretório onde está o Dados.class. No caso, executando o javac acima, provavelmente ele vai gerar no mesmo diretório, então seria .:

java -cp ".;outro.jar;maisoutro.jar" Dados
          ^
          |
o ponto indica o diretório atual (mas vc deve trocar pela pasta onde está o Dados.class)
1 curtida

Amo vocês…kkkk

Funcionou:

Muito obrigado à todos que ajudaram.