4 votes

Impossible de lancer une application SWT dans Eclipse

J'ai suivi le tutoriel qui était inclus dans l'éditeur Eclipse (cliquez sur Aide -> Accueil -> Tutoriels). J'ai suivi toutes les étapes qui étaient :

Cette fiche de triche vous montre comment créer une application "Hello World" utilisant la Standard Widget Toolkit (SWT). L'application affichera simplement une fenêtre vide à l'utilisateur. Si vous avez besoin d'aide à n'importe quelle étape, cliquez sur le(?) à droite. Commençons!

Si vous n'êtes pas déjà dans la perspective Java, dans le menu principal sélectionnez Fenêtre > Ouvrir une perspective > Java ou cliquez sur le lien "Cliquez pour exécuter" ci-dessous.

Ouvrez l'assistant d'importation depuis le menu principal via Fichier > Importer..., et sélectionnez Développement de plug-ins > Plug-ins et fragments. Cliquez sur Suivant. Sur la page d'importation des plug-ins et fragments, sélectionnez Importer à partir de : La plate-forme cible active. Plug-ins et fragments à importer : Sélectionnez parmi tous les plug-ins et fragments trouvés à l'emplacement spécifié. Importer en tant que : Projets avec dossiers source. Cliquez sur Suivant. Sur la page de sélection, ajoutez org.eclipse.swt.{platform}.{os}.{arch} (par exemple : org.eclipse.swt.win32.win32.x86 pour win32) à la liste Plug-ins et fragments à importer. Cliquez sur Terminer. Cela créera le projet org.eclipse.swt.{plateforme}.{os}.{arch} dont nous aurons besoin pour compiler et exécuter l'application.

Maintenant, nous avons besoin d'un projet pour stocker notre propre code source. Dans la barre d'outils principale, cliquez sur le bouton Nouveau projet Java, ou cliquez sur le lien ci-dessous. Entrez HelloWorldSWT comme nom de projet, puis cliquez sur Terminer.

Étant donné que notre projet nécessite SWT, nous devons le spécifier dans les propriétés du projet. Cliquez avec le bouton droit sur le projet et sélectionnez Propriétés. Dans la page Chemin de construction Java, ouvrez l'onglet Projets, ajoutez le projet org.eclipse.swt.{plateforme}.{os}.{arch}, puis cliquez sur OK.

La prochaine étape est de créer une nouvelle classe. Dans la barre d'outils principale, cliquez sur le bouton Nouvelle classe Java (ou sur le lien ci-dessous). Si ce n'est pas déjà spécifié, sélectionnez HelloWorldSWT/src comme dossier source. Entrez HelloWorldSWT comme nom de classe et cochez la case pour créer la méthode main(), puis cliquez sur Terminer. L'éditeur Java s'ouvrira automatiquement en montrant votre nouvelle classe.

Dans l'éditeur Java, saisissez le code Java suivant dans la méthode main() : Affichage affichage = nouveau Affichage(); Coquille coquille = nouvelle Coquille(affichage); coquille.setText("Bonjour le monde!"); coquille.open(); tandis que (!coquille.isDisposed()) { if (!affichage.readAndDispatch()) affichage.sleep(); } affichage.dispose(); Vous obtiendrez des erreurs de compilation. Cliquez avec le bouton droit dans l'éditeur Java et sélectionnez Source > Organiser les importations, puis enregistrez vos modifications.

Pour exécuter votre application, cliquez avec le bouton droit sur votre classe dans l'Explorateur de packages et sélectionnez Exécuter en tant que > Application Java. Une nouvelle fenêtre vide devrait apparaître avec le titre "Bonjour le monde!". Félicitations! Vous avez réussi à créer une application Hello World SWT!

Et voici une capture d'écran :

capture d'écran

Mais quand j'ai essayé d'exécuter le programme, au lieu d'afficher un écran blanc comme prévu, il a affiché ceci dans le terminal :

Exception dans le thread "main" java.lang.UnsatisfiedLinkError: Impossible de charger la bibliothèque SWT. Raisons :
pas de swt-cocoa-4233 dans java.library.path
pas de swt-cocoa dans java.library.path
Impossible de charger la bibliothèque : /Users/devenkelling/.swt/lib/macosx/x86_64/libswt-cocoa-4233.jnilib
Impossible de charger la bibliothèque : /Users/devenkelling/.swt/lib/macosx/x86_64/libswt-cocoa.jnilib

at org.eclipse.swt.internal.Library.loadLibrary(Library.java:331)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:240)
at org.eclipse.swt.internal.C.(C.java:21)
at org.eclipse.swt.widgets.Display.(Display.java:101)
at HelloWorldSWT.main(HelloWorldSWT.java:11

Je suis sur un système x64 avec Eclipse 64 bits installé et les versions 32 bits et 64 bits de Java (je pense). Veuillez m'aider. Merci.

10voto

YatharthROCK Points 1349

Source: Forums Eclipse

Cela a fonctionné pour moi :

  • Clic droit sur votre dossier de projet HelloWorldSWT ;

  • Aller à Propriétés -> Barre latérale gauche Chemin de construction Java -> Onglet Projets ;

  • Développer le dossier org.eclipse.swt.cocoa.macosx.x86_64 en cliquant sur la flèche à gauche ;

  • Sélectionner Emplacement de la bibliothèque native et cliquer sur Modifier ;

  • Appuyer sur le bouton Espace de travail et sélectionner org.eclipse.swt.cocoa.macosx.x86_64 ;

  • Appuyer sur OK quelques fois ;

Et c'est fait ! J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X