Usando o javah no linux
Eu tenho uma classe simples para uso em JNI, que eu preciso exportar para um arquivo de cabeçalho (. H).
Eu li que preciso usar ojavah
comando, indo para osrc
pasta do projeto e digite:
javah -jni com.main_package.NativeClass
No windows funciona bem, mas no meu sistema operacional principal (Linux) não funciona. Ele continua dizendo que não pode encontrar a classe. Eu tentei usar muitas combinações do comando e executá-lo em muitos caminhos possíveis, mas não funcionou. Eu segui muitos tutoriais e sites (incluindo aqui) e tentei suas combinações também.
Eu até tentei usar a ferramenta externa do Eclipse para isso, como mostradoAqui, mas também mostrou o mesmo erro.
O erro que recebo é assim:
error: cannot access com.main_package.NativeClass
class file for com.main_package.NativeClass not found
javadoc: error - Class com.main_package.NativeClass not found.
Error: No classes were specified on the command line. Try -help.
alguém pode me ajudar por favor? Eu realmente gosto de trabalhar no Linux e não quero trocar de sistema toda vez que eu precisar usar essa ferramenta.
Aqui está a resposta correta:
para console, vá para a pasta "bin / classes" e execute o comando que usei:
javah -jni com.main_package.NativeClass
para eclipse, use o link que eu dei, mas ao invés de${project_loc}/bin/
usar${project_loc}/bin/classes/
e, em seguida, no explorador de pacotes, vá para o NativeClass.java e execute a ferramenta externa. a saída estará no mesmo caminho do arquivo java.