Resposta CLASSPATH

8 respostas
6

sim,

cara…eu estou meio perdido, vc já deve ter percebido.

Vc teria alguma dica de como ajeitar o CLASSPATH?

8 Respostas

N

Ai 6,

Se você já setou o JAVA_HOME, colocou o JDK no path e setou seu CLASSPATH, o que está acontecendo ?

Deveria estar funcionando ! Diz o que você quer fazer e o que acontece !

t+

6

eu estou tentanto trabalhar com JNI.

  1. escrevi o programa e compilei usando o javac
  2. agora tenho que criar o arquivo .h, usando o javah (esta parte nao estou conseguindo fazer)
  3. quando rodo o programa ele dá esse erro:
Exception in thread main java.lang.UnsatisfiedLinkError: no hello in java.library.path

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1491)

at java.lang.Runtime.loadLibrary0(Runtime.java:788)

at java.lang.System.loadLibrary(System.java:834)

at HelloWorld.<clinit>(HelloWorld.java:17)

pelo jeito tenho que ajeitar o CLASSPATH.
tenho que exportar o q?
como conseguir criar o arquivo .h ?

valeu…

N

Você precisa:

1 - gerar o .h ( faz tempo, mas acho que é com javah -h MinhaClass)

2 - implementar a library (minhalibrary.so, ou minhalibrary.dll)

3 - carregar no seu helloworld a dll chamando System.loadLibrary(minhalibrary) ou algo parecido;

O error que você está obtendo é porque você está utilizando sua classe “native” sem fazer o link correto com a library.

Boa Sorte.

6

da uma olhada…dentro de Programas está a minha classe…

emanuel@simuplan02:~/Pesquisa/JNI/Programas$ javah -jni HelloWorld
bash: javah: command not found

e fiz assim tbm:

emanuel@simuplan02:/usr/local/java/j2sdk1.4.2/bin$ ./javah -jni ~/Pesquisa/JNI/Programas
Error: Class /home/emanuel/Pesquisa/JNI/Programas could not be found.

N

“net_sandro”:
Você precisa:

1 - gerar o .h ( faz tempo, mas acho que é com javah -jni MinhaClass)

2 - implementar a library (minhalibrary.so, ou minhalibrary.dll)

3 - carregar no seu helloworld a dll chamando System.loadLibrary(minhalibrary) ou algo parecido;

O error que você está obtendo é porque você está utilizando sua classe “native” sem fazer o link correto com a library.

Boa Sorte.

Lembrei, você precisa da sua library no PATH.

Você usa JDK 1.4 ? A partir da versão 1.4 é obrigatório que a classe esteja dentro de um package.

Rafael_Steil

“60987”:
da uma olhada…dentro de Programas está a minha classe…

emanuel@simuplan02:~/Pesquisa/JNI/Programas$ javah -jni HelloWorld
bash: javah: command not found

e fiz assim tbm:

emanuel@simuplan02:/usr/local/java/j2sdk1.4.2/bin$ ./javah -jni ~/Pesquisa/JNI/Programas
Error: Class /home/emanuel/Pesquisa/JNI/Programas could not be found.

Isso nao vai funcionar pq o package da tua classe nao eh o caminho completo ate o nome do arquivo. Faz assim:

export PATH=$PATH&#58;/usr/local/java/j2sdk1.4.2/bin
cd ~/Pesquisa/JNI/Programas
javah -jni nomeDaClasse

Rafael

6

quero agradecer a ajuda de todos…

rafael,

tua dica foi 10, na mosca…valeu…cara;;

6

Estou tentanto usar códigos nativos.

  1. ja compilei o programa
  2. gerei o arquivo .h
  3. escrevi o programa em outra linguagem, no caso C.

e agora preciso criar uma biblioteca compartilhada .
alguém tem uma dica?

OBS: precisa criar esta biblioteca compartilhada, ou não vai ter problema no momento de tentar acessar códigos escritos em outra linguagem…? vai interferir se não for criada?

valeu

Criado 23 de março de 2004
Ultima resposta 6 de abr. de 2004
Respostas 8
Participantes 3