Uso do JNA

5 respostas
B

Estou tentando compatibilizar um programa escrito em C com o java utilizando a ferramenta JNA. A princĩpio funcionou, mas hoje, quando busco executar a aplicação a seguinte mensagem é dada:

Exception in thread main java.lang.NoClassDefFoundError: CalcJNA/java

Caused by: java.lang.ClassNotFoundException: CalcJNA.java

at java.net.URLClassLoader$1.run(URLClassLoader.java:221)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:209)

at java.lang.ClassLoader.loadClass(ClassLoader.java:324)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)

at java.lang.ClassLoader.loadClass(ClassLoader.java:269)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:337)

Error: Could not find the main class.

Error: A JNI error has occurred, please check your installation and try again

Se alguém souber o que esse erro significa, por favor, escreva aqui. Obrigado.

5 Respostas

gibaholms

Você quis dizer JNI neh amigo rsrs

B

Não cara, falo do JNA mesmo. Fiz tudo como manda um tutorial que eu estava seguindo. Baixei o JNA.jar, criei o programa em C, o header, criei o .so, pois estou usando linux, fiz o mapeamento dos tipos, criei a aplicação em java. Quando faço a compilação é beleza, mas quando mando executar ocorre o erro descrito. Quem puder me ajudar sou agradecido. Valeu

Aldrin_Leal

Você não tá fazendo referência a algum “CalcJNA.java”? Se sim, o nome está errado e deveria não ter o ‘.java’.

T

Isso se chama “distração”.
Você está usando algum comando como “java -classpath … CalcJNA.java”, o correto é “java -classpath … CalcJNA”.
Não se esqueça:

javac precisa da extensão “.java” porque ele precisa de um nome de arquivo.
java precisa dos “packages” mas não precisa de “.java” porque ele precisa de um nome de classe.

B

pow pessoal, me passei legal nessa hein. Valeu, valeu mesmo, deu certo. Abraço a todos.

Criado 10 de março de 2008
Ultima resposta 10 de mar. de 2008
Respostas 5
Participantes 4