J'ai une application Java, construite avec eclipse, qui utilise QTJambi. L'exécution de l'application à partir de la ligne de commande fonctionne parfaitement. Cependant, essayer de déployer l'application avec WebStart s'avère difficile. J'ai fait beaucoup de lecture et il semble que beaucoup de gens ont des problèmes à faire fonctionner Mac OS X. Le problème semble être que les bibliothèques natives ne sont pas correctement chargées. La trace de pile est fournie ci-dessous.Problème Déploiement de QT Jambi avec démarrage Web sous Mac OS X
CWindow's _nativeHide encountered error: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.javaws.Launcher.invokeMainMethod(Launcher.java:1819) Caused by: java.lang.ExceptionInInitializerError at com.trolltech.qt.QtJambiObject.(QtJambiObject.java:60) at com.engage.agentdesktop.Application.main(Application.java:25) ... 5 more Caused by: java.lang.RuntimeException: Loading library failed, progress so far: No 'qtjambi-deployment.xml' found in classpath, loading libraries via 'java.library.path' Loading library: 'libQtCore.4.dylib'... - using 'java.library.path' at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(NativeLibraryManager.java:431) at com.trolltech.qt.internal.NativeLibraryManager.loadQtLibrary(NativeLibraryManager.java:355) at com.trolltech.qt.Utilities.loadQtLibrary(Utilities.java:140) at com.trolltech.qt.Utilities.loadQtLibrary(Utilities.java:136) at com.trolltech.qt.QtJambi_LibraryInitializer.(QtJambi_LibraryInitializer.java:56) ... 7 more Caused by: java.lang.RuntimeException: Library 'libQtCore.4.dylib' was not found in 'java.library.path'=/Users/smeatonj/Desktop/Engage Agent Desktop.app/Contents/Resources/Java:/System/Library/PrivateFrameworks/JavaApplicationLauncher.framework/Resources:.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java at com.trolltech.qt.internal.NativeLibraryManager.loadLibrary_helper(NativeLibraryManager.java:486) at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(NativeLibraryManager.java:426) ... 11 more
Ceci est un extrait du fichier webstart.jnlp:
`[resources`] `[j2se version="1.5+"/`] `[jar href="${MEDIA_URL}application/webstart/MyApplication.jar" /`] .... `[jar href="${MEDIA_URL}application/webstart/MyApplication_lib/qtjambi-4.5.2_01.jar" /`] `[resources os="Mac OS X"`] `[j2se version="1.5+" java-vm-args="-d32 -XstartOnFirstThread"/`] `[jar href="${MEDIA_URL}application/webstart/MyApplication_lib/qtjambi-macosx-gcc-4.5.2_01.jar" /`] `[/resources`]
L'erreur me dit que qtjambi-deployment.xml ne se trouve pas dans le chemin de classe. J'ai ouvert qtjambi-macosx-gcc-4.5.2_01.jar et il y a certainement le fichier qtjambi-deployment.xml ici. Le nœud resources = "Max OS X" est définitivement chargé par le JNLP, car je recevais différentes erreurs avant que cela ne m'oblige à mettre -d32 dans les arguments vm. Est-ce que quelqu'un sait ce que l'enfer pourrait causer cette erreur?
Edit:
L'application fonctionne très bien quand webstarting à Windows.