donc je recapitule
j'ai un repertoire lib contenant toutes les librairies inimaginable sur swt linux et windows
sur le meme niveau j'ai un repertoire testport dans lequel j'ai les .class
j'ai un repertoire META-INF avec un fichier MANIFEST.MF le quel contient
je creer mon jar a l'aide de la commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Manifest-Version: 1.0 Main-Class: TestSWT2 Class-Path: ./lib/org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar
j'execute mon jar a l'aide de la commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 jar cvfm testport.jar META-INF/MANIFEST.MF -C testport .
il fonctionne impeccable sous windows
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 java -jar testport.jar
maintenant sous linux je tape
java -jar testport.jar, ca plante, ce qui est normal car il ne trouve pas la librairie gtk, donc je modifie le meta-inf sous linux, car j'ai la meme structure de repertoire
je tape la commande suivante sous linux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Manifest-Version: 1.0 Main-Class: TestSWT2 Class-Path: ./lib/org.eclipse.swt.gtk.linux.x86_3.3.1.v3346i.jar
ca marche impeccable sous linux, donc , la personne sous linux sera oblige de modifier le jar , de recreer le jar pour que ca puisse fonctionner sous linux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 java -jar testport.jar
aussi je rappel que j'ai tester toutes les possiblites, j'ai inclut dans le manifest toutes librairies necessaire windows et linux , swt.jar etc... , et ca ne marchait pas non plus.
donc soit il y a un probleme de version de java sous mon linux ou soit j'ai oublie quelque chose , mais la je ne voit car tout y est, le repertoire lib a toutes les bibliotheque.
sinon si quelqu'un pouvais me dire ce que je doit mettre exactement sur le manifest.mf.
j'ia aussi teste dans le fichier manifest ceci sans resultat
j'ai mis aussi pour windows dans le repertoire lib la dll swt-win32-3346.dll
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Manifest-Version: 1.0 Main-Class: TestSWT2 Class-Path: ./lib/org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar ./lib/org.eclipse.swt_3.3.0.v3346.jar ./lib/org.eclipse.swt_3.3.0.v3346.jar
j'utilise java 1.6.0.02 et les libriarie 3.3.
j'ai utilise aussi cette commande:
aucun resultat, peut etre un probleme de guillemet au niveau du parametre -D ou bien il faut mettre des guillemets dans le parametre classpath, j'ai deja essaye tous ca sans resultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 java -classpath .\lib\org.eclipse.swt_3.3.0.v3346.jar;.\lib\org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar -Djava.library.path=".\lib" TesTSWT2
ce que j'ai a l'ecran DOS c'est
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 java -classpath .\lib\org.eclipse.swt_3.3.0.v3346.jar;.\lib\org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar -Djava.library.path=".\lib" TesTSWT2 Exception in thread "main" java.lang.NoClassDefFoundError: TesTSWT2
Partager