Buscar classes em um .jar atraves de um programa java

9 respostas
zap

Pessoal,

Tenho um programa java que gerei em um “.jar”

So que esse programa precisa buscar classe que esta em um outro .ja ( c:\libs\abc.jar )

quando executo meu programa ele nao encontra as classes do abc.jar. Como fazer para ele apontar esse jar ?

9 Respostas

T

Ponha esse jar no CLASSPATH do seu programa.
Exemplo:

java -classpath abc.jar -jar MeuPrograma.jar

zap

Eu tinha feito isso, mas nao deu certo

T

Dê uma olhada no arquivo classes12.jar (com um programa que abra arquivos .zip) e veja se ele tem o arquivo oracle.jdbc.driver.OracleDriver.class. Se ele não tiver esse arquivo, você está usando o jar errado :frowning: )

zap

o jar esta certo … ja o uso em outras aplicacoes …

zap

Aparentemente a instrucao java -classpath nao esta funcionando na linha de comando…

Alguem ja chamou um “.jar” passando o classpath ?

pintofree

zap:
Aparentemente a instrucao java -classpath nao esta funcionando na linha de comando…

Alguem ja chamou um “.jar” passando o classpath ?

nao e pra chamar um jar chamando o classpath e para adicionar o jar no classpath, para o java poder achar o jar q vc quer.

zap

pintofree:
zap:
Aparentemente a instrucao java -classpath nao esta funcionando na linha de comando…

Alguem ja chamou um “.jar” passando o classpath ?

nao e pra chamar um jar chamando o classpath e para adicionar o jar no classpath, para o java poder achar o jar q vc quer.

E exatamente essa a intencao:

Onde classes12.jar eh o jar que eu preciso carregar no classpath e testeConexaoDB.jar eh o meu programa que precisa das classes que estao no classes12.jar.

So que quando eu faco isso nao esta encontrando as classes que estao no classes12.jar

ceccone

Ja tentou por o classes12.jar no MANIFEST.MF do teu jar?

zap

Entao, se eu colocar no MANIFEST sei que funciona.

Mas para meu programa eu preciso passar dinamicamente a biblioteca que sera usada.

O programa executa um teste de conexao com banco de dados. Mas preciso que seja generico, pois se eu executar o programa em uma maquina com Oracle, passaria no classpath a lib com o driver do oracle. Se for no DB2, a mesma coisa para o driver do db2.

So nao estou entendendo pq nao esta funcionado com o -classpath

Criado 16 de abril de 2008
Ultima resposta 22 de abr. de 2008
Respostas 9
Participantes 4