# VTK et Java



## Mac Shiloh (12 Mai 2006)

Bonjour à tous !
Voilà, dans le cadre de mes études, je dois faire un travail de recherche qui m'impose d'utiliser Java et la librairie VTK. Or cette dernière me pose des soucis. Après l'avoir compilé les sources avec CMake et l'avoir installé, je veux tenter un exemple tout simple mais ca ne passe pas à l'execution :

```
java.lang.UnsatisfiedLinkError: no vtkCommonJava in java.library.path
```
Je me dis alors que la librairie doit être mal installé donc je vais voir à /usr/lib/java/ et effectivement, il me manque les fichiers libvtkCommonJava. En regardant dans le manifest de l'installation, je découvre que le fichier est /usr/local/lib/libvtkCommonJava.dylib . Je me dis qu'il n'y a qu'à mettre un alias dans /usr/lib/java comme il y en a déjà et ca devrait passer. Mais que nenni, toujours la même erreur.
Je précise que je développe avec Eclipse et que j'ai bien ajouté au projet la librairie externe vtk.jar. J'ai d'ailleurs cherché de ce coté à ajouter les fichiers de la librairie mais je n'y suis pas parvenu.
Est-ce que quelqu'un sait comment me sortir de cette impasse ? Merci d'avance.


----------



## GrandGibus (13 Mai 2006)

Salut,

On dirait que ton programme n'accède pas à la librairie native... (la DLL, le .so ou le .dylib utilisé par vtk.jar).

Il faut en fait configurer le _native library path_.

2 façons de le faire:

 avec une variable d'environnement: export LD_LIBRARY_PATH=
 ou avec une option de démarrate: java -Djava.library.path=

A noter que certains programmes Java comporte des erreurs sur la manière de charger une librairie native (genre, System.load au lieu de System.loadLibrary).


----------



## Mac Shiloh (13 Mai 2006)

En fait, j'ai réussi ce matin à enfin utiliser cette librairie. J'ai dû ruser Java en copiant les fichiers libvtkmachinJava.dylib dans le dossier /usr/lib/java et ensuite renommer les extensions en .jnilib afin que Java reconnaisse les fichiers.
Maintenant, tout tourne bien !
Merci pour ta réponse en tout cas.


----------

