2014-09-03 2 views
0

J'ai une application Java qui utilise les bibliothèques JFlashPlayer. Je peux l'exécuter sur mon système, via un fichier batch, sans problème - il fonctionne parfaitement, comme prévu. Le fichier .bat est la suivante:L'application Java ne s'exécute pas sur d'autres périphériques, UnsatisfiedLinkError

java -classpath jflashplayer.jar;commons-io-2.4.jar;bin flashPresentationController 

Comme mentionné précédemment, l'application fonctionne sans problème sur mon ordinateur, mais en essayant de courir sur un autre ordinateur, l'erreur suivante se produit:

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: com.jpackages.jflashplayer.... 

I avait exactement la même erreur en essayant de compresser l'application dans un fichier JAR exécutable, mais le fichier batch fonctionnait toujours sans erreur. Comment puis-je remédier à ce problème afin que je puisse soit a) utiliser le fichier batch existant pour exécuter l'application, soit b) mettre en package l'ensemble de l'application dans un fichier JAR exécutable?

J'ai essayé de changer les chemins des bibliothèques et des fichiers inclus, conformément aux suggestions des autres publications relatives à UnsatisfiedLinkError, mais rien n'a changé.

Répondre

0

Si vous cochez la JavaDoc, vous verrez ceci:

si la machine Jetés virtuelle Java ne peut pas trouver une définition de langue maternelle appropriée d'une méthode déclarée native.

Cela signifie que jflashplayer a des dépendances natives.

Edit: peut-être vous devriez vérifier ceci: java.lang.UnsatisfiedLinkError in jflashplayer — getOSVersion

+0

J'ai vu la JavaDoc avant, et avoir lu la même ligne. Je ne suis pas un pro chevronné quand il s'agit de Java, et donc je ne suis pas sûr de savoir comment inclure/modifier lesdites dépendances natives. En ce qui concerne le lien SO que vous avez fourni, je l'ai déjà vu précédemment et je n'ai trouvé aucune aide. Tout le code est écrit, je ne suis pas intéressé par JFlashPlayer, mais plutôt par le faire fonctionner correctement. Le fichier de traitement par lots fonctionne sur mon système, mais pas le fichier exécutable JAR (me donne exactement la même erreur que dans le message). Comment puis-je corriger les dépendances pour que je puisse créer le fichier JAR ou utiliser le batch? – Birrel

+0

J'utilise Eclipse pour compiler/compiler l'application. – Birrel

+0

Il n'y a même pas de site web pour jflashplayer donc je ne fais que deviner. Avez-vous installé FlashPlayer sur l'autre ordinateur? – galovics

Questions connexes