2010-12-03 4 views
3

J'ai une application qui utilise JNI pour certaines fonctions natives qui se trouvent dans une DLL. L'application fonctionne correctement sur Windows XP, mais quand je lance le programme sur Windows 2000, je reçois les éléments suivants:Exception Java lors du passage de XP à WIN2K

alt text

 

    java.lang.UnsatisfiedLinkError: C:\Program Files\Compunetix\stixDlls\CMSCI Dll.d 
ll: The specified procedure could not be found 
     at java.lang.ClassLoader$NativeLibrary.load(Native Method) 
     at java.lang.ClassLoader.loadLibrary0(Unknown Source) 
     at java.lang.ClassLoader.loadLibrary(Unknown Source) 
     at java.lang.Runtime.load0(Unknown Source) 
     at java.lang.System.load(Unknown Source) 
     at com.compunetix.vsd.stix.main.Main.main(Main.java:165) 
 

Toutes les idées?

Merci

+0

Le runtime Java fonctionne-t-il correctement? Avez-vous essayé d'exécuter d'autres programmes Java? –

+0

Est-ce que cette DLL existe à cet emplacement dans votre environnement Windows 2000? Est-ce exactement la même DLL que dans XP? –

+0

@Tom - Juste réinstallé java. Tout semble être bon là – user489041

Répondre

4

il se pourrait que la dll utilise un autre dll qui ne sont pas disponibles dans cette seconde machine. Utilisez Dependency walker/ pour trouver exactement ce que DLL est manquant.

+0

Il y avait deux fonctions manquantes sur WIN2K. Merci. J'ai besoin de réévaluer la situation dll. – user489041

+0

@ user489041, sans le faire courir devant moi est un peu difficile, je l'ai rarement utilisé mais c'était assez simple. Je dirais que sélectionnez Kernel32.dll dans la partie supérieure, puis faites défiler vers le bas dans le bas jusqu'à ce que vous trouviez une DLL en rouge ou quelque chose. Les choses typiques que j'ai vues manquent. Net ou manquant une version spécifique d'IE par exemple. – Persimmonium

Questions connexes