introduction à eclipsemiblack.free.fr/cours/redoublement/algo-prog_1a/java_2010/introdu… ·...
TRANSCRIPT
Introduction à Introduction à Introduction à Introduction à
Eclipse Eclipse Eclipse Eclipse
Les bases de l’Environnement de Développement Intégré (EDI) Eclipse pour le langage Java
IUT de l’Université de Caen Département InformatiqueSemestre 2 - 2010
Olivier CHARLESFormateur – Consultant Email : [email protected]
Sommaire
Chapitre 1 : Présentation 3Chapitre 1 : Présentation 3
Chapitre 2 : Les notions de base 11
Chapitre 3 : Projets Java 17
Chapitre 4 : Aides au développement 31
Chapitre 5 : Exécution et paramétrage 45
Feu Vert et Bibliographie 59
2
Chapitre 1 : Présentation
A l’origine d’Eclipse IDE
Un logiciel libre
Architecture de base
Evolutions récentes
Projets EclipsesProjets Eclipses
Les langages supportés
3
A l’origine d’Eclipse
Un projet lancé chez IBM en 2001
Non de code : Eclipse IDEEclipse ? Pour éclipser le soleil (Sun) ? Rivalité Sun IBM
Les objectifs :
Un logiciel libre de droits
Le développer avec Java et les bibliothèques SWT et JFace d’IBM
Fournir un environnement de développement normalisé, ouvert et extensible par l’intermédiaire de plug-ins
Pouvoir traiter plusieurs langages
Intégrer les standards et pratiques dans des perspectives et des vues intégrables ( JUnit, Ant, SVN … )
4
Un logiciel libre
Un cœur réutilisable pour faire son propre environnement de développement
Eclipse est basé sur une architecture de « plug-ins » conforme à la norme OSGi Alliance ( Open ins » conforme à la norme OSGi Alliance ( Open Services Gateway initiative )
Plusieurs logiciels commerciaux sont basés sur ce logiciel libre, comme par exemple IBM Lotus Notes 8, IBM Symphony ou WebSphere Studio Application Developer.
5
Architecture de base
Eclipse Platform, composée de :
Platform Runtime démarrant la plateforme et gérant les plug-ins
SWT, la bibliothèque graphique de base de l‘EDI et JFacebasée sur SWT
Eclipse Workbench pour les vues, les éditeurs et les Eclipse Workbench pour les vues, les éditeurs et les perspectives.
Ces composants de base peuvent être réutilisés pour développer des clients lourds indépendants grâce à Eclipse RCP (Rich Client Platform).
L'ensemble des outils de développement Java sont ensuite ajoutés en tant que plugins, regroupés dans le projet Java Development Tools (JDT) selon les recommandations de OSGi.
6
Evolutions récentes
Date Version Commentaire
Juin 2009 3.5 (Galileo)Version 3.5 officielle. Actuellement à l’IUT
Novembre 2008 3.5 M3 (Galileo)Milestone 3 (troisième ébauche de la version 3.5)
Septembre 2008 3.5 M2 (Galileo)Milestone 2 (deuxième ébauche de version 3.5)
7
Septembre 2008 3.4.1 (Ganymede) A l’IUT l’année dernière
Septembre 2008 3.5 M1 (Galileo)Milestone 1 (première ébauche de la future version 3.5)
Juin 2008 3.4 (Ganymede)
Juin 2007 3.3 (Europa)21 projets. 17 millions de lignes de codes écrites par 310 développeurs dans 19 pays.
Septembre 2006 3.2.1 dix projets concernés
Juin 2006 3.2 (Callisto)
Projets Eclipse
Grâce à l’architecture ouverte de nombreux projets Eclipselibres ou commerciaux voient le jour. Quelques exemples :
Web Tools Platform project (WTP) propose de nombreux outils pour le développement d'applications web en Java.
C/C++ Development Tools Project (CDT) est un environnement complet de développement pour les langages C et C++ pour Eclipse.
Business Intelligence and Reporting Tools Project (BIRT)Business Intelligence and Reporting Tools Project (BIRT)
Test and Performance Tools Platform (TPTP)
Visual Editor project (VE)
UML2 est un projet pour le développement de modèles UML 2.0 dans Eclipse (UML2)
COBOL IDE for Eclipse Subproject (COBOL)
AJAX Toolkit Framework est un projet visant à proposer des outils pour le développement d'applications AJAX (ATF)
PHP Development Tools framework (PDT) est destiné au développement d'application web basées sur le langage PHP côté serveur.
8
Les langages supportés ( Fin 2008 )
Java
GAP pour system i
C#
Ada, C++ et C
Objective Caml, Python ,Perl (EPIC), Ruby
COBOLCOBOL
Pascal
PHP (PDT)
Javascript, XML, HTML, XUL
SQL
Action script, Coldfusion, Magik
9
Liens WEB utiles
Les sites officielshttp://www.eclipse.org/
http://www.eclipseplugincentral.com/ : gestion des projets Eclipse officiels
Le site « developpez »http://eclipse.developpez.com/faq/
http://www.developpez.net/forums/f94/environnements-developpement/eclipse/
Http://eclipse.developpez.com/cours
10
Chapitre 2 : Les notions de bases
La notion de Workspace
Le notion de Perspective
La notion de Vue
La notion de Projet
11
Le notion de Workspace
Eclipse stock les fichiers projets dans des Workspaces (espace de travail)
Un Workspace est fondamentalement un REPERTOIRE
Il existe un Workspace par défaut qui est créé lors de l’installation d’Eclipse
Il est possible de créer d’autres Workspaces et d’en changerpar le menu File / Switch Workspace. Eclipse redémarre et par le menu File / Switch Workspace. Eclipse redémarre et se positionne sur le nouveau Workspace
12
Les perspectives et les vues
Pour un projet donné, il existe plusieurs perspectives. On active une perspective à la fois
Ex : Perspectives Java ou Java Browsing …
Pour une perspective donnée il est possible d’activer/désactiver des vues.
Ex : Vues Console ou Package Explorer …
Pratique pour retrouver la console !
13
Exemple de Perspectives
Utiles : les perspectives Java et Java Browsing
14
Exemples de Vues
15
Utiles : les vues Package Explorer, Console, Task List ,SVN Repositories etc.. .
La notion de projet
Finalement un projet Eclipse est un ensemble de fichiers utilisateurs et de fichiers Eclipse stockés dans un workspace que l’on peut explorer sous différents angles à l’aide de perspectives que l’on configure avec des vues suivant ses propres besoins. Tel est le cas des projets Java !
16
Chapitre 3 : Projets Java
Créer un projet Eclipse java
HelloWorld : perspectives et vues
Sauvegarder et Exporter un projet java
Exporter un projet Eclipse javaSous forme de fichiers
Sous forme d’archive de fichiers .zipSous forme d’archive de fichiers .zip
Importer un projet Eclipse javaDepuis des fichiers
Depuis une archive .zip ou .tar
17
Créer un projet Java
Il suffit d’activer le menu file / new / Java Project
On peut ensuite paramétrer
18
On peut ensuite paramétrer
Le nom du projet
Le répertoire source ( si existant )
La version du JRE
HelloWorld : Perspectives et Vues
PerspectiveActive : Java
Liste des perspectives
19
Vues
-Tasks-Console-Problems
Vue-Package Explorer
HelloWorld : une autre perspective
PerspectiveActive : Java Broswing
20
HelloWorld : La vue console activée
PerspectiveActive :
Java Broswing
Avec la vue
Console
Ici on a configuré la perspective Java Browsing avec la vueconsole.
21
Sauvegarder et Exporter un projet
Il existe 2 manières de sauvegarder un projet Java Eclipse
La sauvegarde classique si vous travaillez sur un workspace fixe avec le menu « File/Save »
L’exportation si vous décidez d’utiliser votre projet sur une autre machine ou de distribuer votre projet à d’autres personnes• Exportation sous forme de fichiers
• Exportation sous forme d’archive .ZIP .TAR ( Très pratique pour s’échanger des projets )
22
Exporter sous forme de fichiers
3) Choisir General / File System dans la liste des destinations possibles
4) Cliquer sur le bouton « Next »
23
1) Cliquer droit sur le projet dans la vue Package Explorer
2) Sélectionner Export … dans le menu contextuel
Exporter sous forme de fichiers
5) Sélectionner les fichiers intéressants pour votre exportation. En général on ne prends que les fichiers sources ( src ) et les fichiers Eclipse .classpath et .project
6) Indiquer le répertoire de
24
6) Indiquer le répertoire de destination dans le champ « To Directory »
7) Cocher éventuellement les options surtout si il existe déjà des fichiers du projet dans le répertoire de destination
8) Cliquer sur « Finish » pour lancer l’exportation
Exporter sous forme d’archives .ZIP .TAR
25
3) Choisir General / Archive File dans la liste des destinations possibles
4) Cliquer sur le bouton « Next »
1) Cliquer droit sur le projet dans la vue Package Explorer
2) Sélectionner Export … dans le menu contextuel
Exporter sous forme d’archives .ZIP .TAR
5) Sélectionner les fichiers intéressants pour votre exportation. En général on ne prends que les fichiers sources ( src ) et les fichiers Eclipse .classpath et .project
6) Indiquer le chemin du
26
6) Indiquer le chemin du fichier archive de destination dans le champ « To Archive File »
7) Cocher éventuellement les options pour indiquer le format de l’archive
8) Cliquer sur « Finish » pour lancer l’exportation
Importer un projet existant
De la même manière l’importation d’un projet existant, qui n’existe pas dans le workspace courant d’Eclipse, peut se faire depuis
Un répertoire contenant l’ensemble des fichiers nécessaires à la construction du projet.
Une archive contenant l’ensemble des fichiers nécessaires à la construction du projet.nécessaires à la construction du projet.
ATTENTION : Si un projet de même nom existe déjà dans
le workspace courant, l’importation échoue.ATTENTION : Il est possible d’importer un projet en pointant vers les fichiers sources ou en copiant ces fichiers sources dans le workspace courant.
27
Importer depuis un répertoire
De la même manière que pour l’exportation, on clique droit dans la vue Package Explorer et on active le menu Importation / General / Existing Project Into Workspace
1) Sélectionner « Select root directory » et entrer le répertoire racine du projet source.
28
2) Cocher le ou les projets reconnus par Eclipse
3) Cocher la case « copy projects into workspace » pour copier les fichiers sources.
4) Cliquer sur « Finish » pour lancer l’importation
Importer depuis une archive .zip .tar
Même procédé, on clique droit dans la vue Package Explorer et on active le menu Importation / General / Existing Project Into Workspace
1) Sélectionner « Select archive file » et entrer le le chemin de l’archive.
2) Cocher le ou les projets
29
2) Cocher le ou les projets reconnus par Eclipse dans l’archive
3) Noter que les fichiers sources sont forcément copiés ( zone grisée )
4) Cliquer sur « Finish » pour lancer l’importation
Exportation / Importation partielle
Il est bien sur possible à tout moment d’exporter et d’importer, un package , une ou plusieurs classes , un ensemble de fichiers à l’intérieur même d’un projet, depuis et vers un projet déjà existant.
L’important est de savoir ce que l’on fait et d’avoir bien compris la philosophie Import/Export d’Eclipse
30
Chapitre 4 : Aides au développement
Créer un package java
Créer une classe java
La Complétion et les Quick Fixes
Avertissement (Warning) et Erreurs
Nettoyage de code
Exploration du codeExploration du code
Le menu source
Changement dans la conception (Refactoring)
31
Créer un package java
Activer le menu File / New / Package par un clique droit sur l’élément contenant le package à créer
32
Créer une nouvelle classe
Activer le menu File / New / Classe par un clique droit sur le package contenant la classe à créer.
Il est conseillé de créer les classes dans des packages existants. Eviter de passer par le package par défaut.
1) Le nom de la classe
2) Sa classe parente ou
33
2) Sa classe parente ou super classe
3) Cases à cocher de génération automatique de code ( main , …. )
4) Cliquer sur « Finish » pour créer la classe et générer le code.
La Complétion
Complétion : propose ou complète le code courant, et crée du code manquant. On l’active avec la combinaison de touches « CTRL + ESPACE »
pour
Obtenir la listes des éléments possibles à partir du Obtenir la listes des éléments possibles à partir du contexte et des premières lettres (méthodes, classes …)
Trouver un élément avec ses initiales CamelCase• Ex: HelloWorld -> HW CTRL+ESPACE
Créer les setters et les getters sur des attributs privés • Ex set CTRL+ESPACE ou get CTRL+ESPACE
Compléter ou créer des « morceaux » de code classiques à partir de patterns ou de mots clés paramétrables• Ex: main CTRL+ESPACE, if CTRL+ESPACE, for CTRL+ESPACE
34
Ex. Complétion : setters automatique
35
Suivant le contexte la complétion propose une méthode inexistante ( ici un setter setUnChamp ) et la crée dans le code si on la sélectionne !
Les Quick Fixes
Permet de corriger rapidement une erreur détectée par Eclipse à partir d’une liste de corrections possibles que l’on obtient par « CTRL + & »
Galiléo contient près de 60 quick fixes pour le code java
Le système de Quick Fixes propose également de Le système de Quick Fixes propose également de créer du code inexistant pour corriger l’erreur. Il s’agit donc aussi d’un outil de génération de code.
Ex: setParameters( 5 , 5 ) n’existe pas dans le code, il y a
donc une erreur détectée. Il existe un Quick Fixe qui permet
de créer la méthode setParameters avec 2 entiers !
36
Ex. Quick Fixe générateur de code
La méthode setParametresavec un entier et un double est créée pour corriger l’erreur ! Quick Fixe !
37
Eclipse détecte une erreur : la méthode setParametresn’existe pas !
Avertissement et Erreur
Eclipse détecte en permanence les erreurs dans votre code et vous averti par 2 symboles dans la marge gauche
Symbole d’avertissement :
Symbole d’erreur :
Conseil : placer la souris sur le symbole et comprendre l’intitulé de l’erreur.
38
Nettoyage de code
On entends par nettoyageLe formatage du code « CTRL+SHIFT+F »
L’indentation du code sélectionné « CTRL + I »
La mise à jour des imports et l’élimination des importsinutilisés « CTRL + SHIFT + O »
Ces actions peuvent êtres activées par le menu Ces actions peuvent êtres activées par le menu
Source > Clean Up
Il est possible de paramétrer sa politique de formatage dans un fichier de sauvegarde. Cette opération se fait par le menu
Window > Preference > Java
39
Paramétrage des règles de codage
40
Exploration du code
Il est possible d’explorer et de naviguer dans la hiérarchie des classes et des interfaces d’un projet inconnu en utilisant entre autres le raccourci « CTRL + T »
41
Le menu Source
Le menu source permet de faire des opérations sur le source entier d’une classe.
Ajouter retirer des lignes ou blocs de commentaires
Nettoyer le source
Formater le sourceFormater le source
Indenter le source
Organiser les imports
Ajouter automatiquement les getters et setters
Ecrire les méthodes héritées afin de les redéfinir.
42
Menu Source/Generate Getters and setters
1) Cocher les champs privés voulus
2) Sélectionner les getters et/ou les setters
3) Déterminer les point d’insertion du code généré dans le source
43
généré dans le source
4) Cocher la génération des commentaires si besoin
5) Cliquer sur Ok : les méthodes sont générées dans le source
Le refactoring
Les projets avec itérations courtes imposent des changements fréquents dans la conception. Le refactoring offre une série d’outils permettant d’aider le développeur à faire évoluer son code sans dommage.
Renommer une classe partout dans le projet
Déplacer une classe dans un autre package
Changer la signature d’une méthode
Etc …
Le menu Refactoring d’Eclipse prend en charge cette fonction
44
Chapitre 5 : Exécution et paramétrage
La gestion des configurations de lancement de programme
Créer une bibliothèque de classes
Importer dans des bibliothèques JAR internes ou externes à Eclipseinternes ou externes à Eclipse
Créer un fichier JAR auto-exécutable
Configurer son projet : compatibilité java, aspects de l’éditeur, etc …
45
Exécution d’un programme Java
Lancement classique: il suffit de cliquer droit sur une classe qui
contient une fonction main et d’activer le menu
« Run As / Java application ».
46
Exécution d’un programme Java
La première exécution génère automatiquement une configuration de lancement par défaut.
Cette configuration se retrouve sous le classique symbole de lancement et porte le nom de la classe
47
Gestion des configurations
Les configurations permettent de sauvegarder des paramètres de lancement différents dans divers projets.
Pour un même projet on peut avoir plusieurs configurations de lancement. Il est possible d’en créer une différente à tout moment par le menu
48
créer une différente à tout moment par le menu « Run Configurations ». On peut donc à tout moment lancer une configuration donnée, pour n’importe quel projet ouvert.
Gestion des configurations
Exemple avec les tours de Hanoï. On veut créer une configuration « Hanoï avec 6 plateaux » qui lance le programme avec 6 plateaux sachant que si il y a un argument passé au programme, le main considère que c’est le nombre de plateaux.
49
On active le menu de « Run configurations » et on crée une nouvelle configuration nommée « Hanoï avec 6 plateaux ». Pour cela on utilise les boutons d’ajout, suppression etc … dans la boîte de dialogue ( voir page suivante )
Gestion des configurations
1) Boutons Ajout, Suppresion, etc …
2) Le nom de la configuration
3) Onglets de paramétrage. Ex : les arguments du main
50
4) Le paramètre
5) Le bouton Applypour créer la configuration
6) Le bouton run pour lancer la configuration et la voir apparaître dans les favoris.
Gestion des configurations
On retrouve cette dernière configuration dans les favoris.
Si on ne la trouve pas on peut l’obtenir par le menu « Organize Favorites »
51
Créer une bibliothèque de classes JAR
Exemple avec la bibliothèque JTutoDessinJTutoDessin comprends 3 classes stockées dans le package jtuto.dessin
Elle permet de faire du dessin permanent de type logo avec 5 stylos de couleurs différentes
Il peut donc être intéressant de faire une bibliothèque archive .JAR de ces 3 classes et de l’inclure dans tous archive .JAR de ces 3 classes et de l’inclure dans tous les projets nécessitant de faire du dessin simple.
52
Créer une bibliothèque de classes JAR
Cliquer droit sur le projet, menu « Export / Java / JAR File »
Cliquer sur le bouton Next, puis choisir les fichiers à exporter dans la bibliothèque, donner le nom et le chemin de l’archive, puis cliquer sur le bouton Finish pour générer l’archive.
53
C:\build\jtutodessin.jar
Référencer une archive existante
Exemple : un projet Hexagone qui dessine un hexagone bleu avec une longueur des côtés de 100 pixels
Nous avons besoins des classes de JTutoDessin.
Pour cela nous allons inclure l’archive jtutodessin.jar dans le projet Hexagone pour utiliser ses classes
Eclipse ne reconnaît pas le package
54
le package jtuto.dessin
Il déclenche une erreur
Pour y remédier, il suffit de référencer l’archive
jtutodessin.jar par le menu « build path »
Référencer une archive existante
Cliquer droit puis menu« Build Path / Add
External Archive »
55
Le package jtuto.dessin estmaintenant reconnu. L’archive est référencée sous « Referenced Librairies »
Créer un fichier JAR auto-exécutable
Le programme Hexagone fonctionne sous Eclipse.
Nous voulons créer un fichier JAR auto exécutable sous windows, sans passer par Eclipse ou l’appel manuel de java.
56
Créer un fichier JAR auto-exécutable
Cliquer droit sur le projet, menu « Import / Java / Runnable JAR File »
Choisir la configuration de lancement.
Donner le nom du fichier auto-exécutable et générer.
Le fichier est généré avec les bibliothèques nécessaires.
57
Dans l’explorateur Windows, un double click sur hexagone.jar lance bien le programme !
Configurer son projet : compatibilité
Il peut arriver qu’Eclipse soit configuré pour que vos fichiers java soient compatibles avec des versions antérieures de Java ( jdk 1.2, 1.3, 1.4, 1.5 )
Il est alors possible que du code conçu avec le jdk 1.6 ne soit pas pris en compte et génère des erreurs.
Il faut alors configurer la compatibilité dans le menu « Project / Properties / Java Compiler »
Cocher la case « Enable project specific settings » et choisir Cocher la case « Enable project specific settings » et choisir le jdk voulu.
58
Configurer l’éditeur java d’Eclipse
Si vous voulez développer avec une autre police ( type et taille). Sélectionner le menu « window/preferences »
Sélectionner les options «General/Appearance/Colors & Fonts»puis cliquer sur « Java / Java Editor Text Font » puis utiliser le bouton « Change » pour changer la fonte
59
Feu vert pour utiliser Eclipse
Vous pouvez désormais utiliser Eclipse dans le cadre des TD/TP de java !
60
Bibliographie
Wikipédia
Journal Programmez n° 116 Fév 2009
61