7
votes

Bibliothèque introuvable: Tibvj

Je gère une application Java sur un serveur Linux utilisant TIBCO RV et que j'obtiens l'erreur suivante: xxx

Qu'est-ce qui cause ce problème?

i ont déjà ajouté la voie libièc contenant *. donc dans ld_library_path mais toujours le même résultat.

mise à jour:

actuellement, je avoir /libs/tibvj.jar ajouté dans classpath . Le Tibvj.jar a été copié de l'environnement Windows à la boîte Linux où je suis mon application. J'ai supprimé cela de la classe de classe et ajouté une autre référence /libs/tibvj.jar et elle a corrigé le problème. Ils ont des tailles différentes avec le fichier précédent et il y a probablement une différence entre celui copié de Windows et celui actuellement dans la boîte Linux. Quelqu'un peut-il expliquer pourquoi cela est-ce?


0 commentaires

5 Réponses :


2
votes

Avez-vous chargé la bibliothèque à l'aide de System.LoadLibrary ("Tibvj")? L'avez-vous ajouté à Java.Library.Path?


4 commentaires

Je l'ai chargé à l'aide de Tibv.Open (Tibrv.Impl_native).


Je ne sais pas ce que vous voulez dire là-bas - je pense que pour utiliser une bibliothèque indigène, vous devez charger une fois dans la JVM afin que le chargeur de classe le sait. Généralement, je le ferais dans une initialiseur statique. Est la déclaration Tibrv.Open () que vous mentionnez ci-dessus dans votre Java?


Et qu'est-ce que Tibrv? Un de vos propres objets ou quelque chose de fourni par Tivco?


Tibv est une classe fournie par TIBCO, comme dans com.tibco.tibv.Tibv.



9
votes

J'ai eu le même problème, et j'ai réparé cela en faisant ce qui suit:

  1. File Tibvj.jar est présent dans la classe de classe de mon application LI>
  2. FILE TIBRVJ.DLL est présent via le chemin de la bibliothèque Java. Ce fichier est généralement situé au répertoire bin dans le répertoire de base Tibco Rendezvous (E.G. C: /TIBCO/TIBRV/8.2/BIN) LI>
  3. La version Java installée est compatible avec la version TIBCO installée. LI> ol>

    mon environnement est: p>

    1. Windows 7, 64bits li>
    2. tibco renduzvous 8.2, 64bits li>
    3. JDK 1.6U29, 64bits li> ol>

      Avant, j'avais installé un JDK 1.6U17, pour un processeur I586 et lorsque j'ai essayé de charger la bibliothèque à l'aide de: P> xxx pré>

      J'ai cette erreur : p>

      Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\TIBCO\tibrv\8.2\bin\tibrvj.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform
      


1 commentaires

Les clés sont 1 - Version Java droite, 2 - Tibvj.jar dans ClassPath 3- Tibvj.dll dans Environnement Variable Path. Vous pouvez le faire ajouter au chemin [tibco_path] \ bin



0
votes

Les réponses de Rchavarria et de Davehowes ont aidé, mais pour moi, le problème était que mon IDE remplace la variable du chemin (et donc java.library.path) lors de l'exécution de mon projet.

Suppression de ce remplacement a fait fonctionner, comme en dehors de l'IDE Tibrv était déjà sur le chemin.


0 commentaires

0
votes

Utilisez-vous des emballages?

Avez-vous Java.Library.Path définie dans votre wrapper.conf? J'avais Java.Library.Path set dans wrapper.conf, corrige cette valeur corrigée le problème pour moi.


0 commentaires

1
votes

Utilisez : xxx

alors ** system.loadlibrary ("tibvj"); **


0 commentaires