Cette question a peut-être été posée plus tôt sur SO, et soyez assuré que j'ai vérifié toutes les solutions disponibles. Était toujours incapable de le faire fonctionnerBibliothèque native dans Tomcat UnsatisfiedLinkError + Windows + eclipse
Mon problème est exactement comme décrit dans ce post Shared native library in Tomcat UnsatisfiedLinkError
autonome application Java fonctionne parfaitement bien. Cependant, avec Tomcat (9), il ne parvient pas à courir et jette
java.lang.UnsatisfiedLinkError: third_party.org.chokkan.crfsuite.crfsuiteJNI.swig_module_init()V
at third_party.org.chokkan.crfsuite.crfsuiteJNI.swig_module_init(Native Method)
at third_party.org.chokkan.crfsuite.crfsuiteJNI.<clinit>(crfsuiteJNI.java:87)
at third_party.org.chokkan.crfsuite.Tagger.<init>(Tagger.java:39)
Je sais que ma DLL est chargée, j'ai vérifié que le dossier est mon dll en est dans la variable PATH. J'ai également vérifié les classes chargées et la DLL est en fait chargée.
Je constate 3 types de UnsatisfiedLinkError au SO
1) java.lang.UnsatisfiedLinkError: third_party.org.chokkan.crfsuite.crfsuiteJNI.swig_module_init() V 2) java.lang.UnsatisfiedLinkError: third_party.org.chokkan.crfsuite.crfsuiteJNI.swig_module_init() B 3) Où le chargeur de classe charge deux fois.
Je crois que le V, à la fin ne signifie quelque chose. Mais je ne suis pas capable de comprendre exactement quoi?
L'une des réponses acceptées dans le post SO que j'ai partagé ci-dessus prétend qu'il a quelque chose à voir avec la version. Je ne comprends pas comment cela est une solution acceptable, car il fonctionne parfaitement bien lorsqu'il est exécuté en tant qu'application java autonome.
Gâché beaucoup de temps déjà, toute aide est appréciable.
Merci Chahat
'B' (octet) et' V' (Void) appartiennent à la signature de la méthode V' 'swing_module_init() (s) et seulement dire que le type de retour est 'Void' (ou' Byte' dans l'autre cas), s'il vous plaît voir: http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/ types.html – nyyrikki
merci nyyrikki pour la réponse, Pourriez-vous s'il vous plaît dites-moi comment résoudre ce problème?faire en sorte que les fonctions natives appellent le travail dans l'application web (tomcat) ?? Merci – user4772933
Cela fonctionne-t-il pour vous lorsque vous n'êtes pas en cours d'exécution dans Tomcat (non seulement le chargement, mais l'appel de méthodes natives)? Si je comprends bien votre description ci-dessus, vous faites plutôt référence au problème lié sur stackoverflow. Il serait également utile si vous nous montrez le fichier d'en-tête généré avec javah. – nyyrikki