JamVm n'exécute pas d'application (qui utilise jpcap) sur Gumstix
-
14-12-2019 - |
Question
Un débutant ici, donc je m'excuse d'avance d'avoir demandé quelque chose de stupide/d'évident.J'essaie d'exécuter une application Java sur une carte Gumstix overo (noyau Linux 2.6.34).Jusqu'à présent, j'ai installé JamVm (jvm), le compilateur jikes et les bibliothèques classpath (conformément aux instructions dans ce tutoriel).J'ai exécuté un programme HelloWorld et cela semblait bien.
Maintenant, lorsque j'essaie d'exécuter une autre application (par exemple « MyApp ») qui utilise les bibliothèques « jpcap », le jvm me renvoie une erreur qui ressemble à ceci :Exception lors de l'envoi d'un événement :java.lang.UnsatisfiedLinkError :Native Libarary 'JPCAP' introuvable (comme fichier 'libjpcap.so') dans gnu.classpath.boot.library.path et java.library.path...
Cette application a été compilée avec Netbeans 7.1.Il a généré un dossier DIST dont la structure est la suivante:
dist :| - MyApp.jar | - Readme | - lib (dossier) | --- | - jpcap.jar | --- | - swing-layout-1.0.4.jar
Le ReadMe dit que pour déployer cette application, il faut aller dans le dossier dist et taper 'java -jar "myapp.jar".Lorsque je le fais (« jamvm -jar MyApp.jar »), j'obtiens l'erreur mentionnée ci-dessus.
Ma carte gumstix a installé libpcap-1.1.1-r1.6.(J'ai trouvé /usr/lib/libpcap.so.1 sur ma carte.)
Est-ce que quelqu'un sait ce qui ne va pas ?Tout conseil serait hautement apprécié.
Ps :J'ai posté cette question sur la liste des utilisateurs de gumstix il y a quelques minutes.Je poste également ici juste pour avoir plus de chances d'avoir une réponse.J'espère que tout le monde ici est d'accord.
La solution
Le libjpcap.so
devrait être dans gnu.classpath.boot.library.path
ou java.library.path
comme l'indique l'erreur.Vous pouvez imprimer ces chemins en les récupérant avec System.getProperty("java.library.path")
mais /usr/lib
est une bonne supposition.