método native (java.lang.ArrayIndexOutOfBoundsException)

3 respostas
G

Olá, preciso aprender a como utilizar o método native e comecei pegando alguns exemplos para entender. Esse abaixo, de HelloWord, peguei no site da HP. O problema é que quando executo, dá o erro java.lang.ArrayIndexOutOfBoundsException. Bom, o código do site é esse abaixo:

// // File TestJava2CallingNative.java // class TestJava2CallingNative { native static void sayHelloWorld(); public static void main(String args[]) { String libname = args[0]; try { System.loadLibrary(libname); System.out.println("Library " + libname + " successfully loaded"); } catch (UnsatisfiedLinkError Err) { System.out.println("error: " + Err); return; } System.out.println("Calling sayHelloWorld"); sayHelloWorld(); System.out.println("All done"); } }

3 Respostas

_fs

Você está passando algum argumento ao executar a classe? Presumo que o erro se dá na linha:

String libname = args[0];

Caso não esteja passando argumentos, pode trocar a linha indicada por:

String libname = "nomeDaBiblioteca";
thiago.correa

O seu vetor args tem tamanho 0, portanto não existe a posição 0, o que você tem que fazer é passar parâmetros para a sua classe da seguinte maneira

c:\>java TestJava2CallingNative teste
G

Valeu JavaGuru, funcionou dessa forma!

Criado 16 de maio de 2006
Ultima resposta 16 de mai. de 2006
Respostas 3
Participantes 3