(Microsoft PowerPoint - Introduction \340 Eclipse [Mode de

Transcription

(Microsoft PowerPoint - Introduction \340 Eclipse [Mode de
Introduction à
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 Informatique
Semestre 2 - 2010
Olivier CHARLES
Formateur – Consultant
Email : [email protected]
Sommaire
Chapitre
Chapitre
Chapitre
Chapitre
Chapitre
Feu Vert
1 : Présentation
2 : Les notions de base
3 : Projets Java
4 : Aides au développement
5 : Exécution et paramétrage
et Bibliographie
3
11
17
31
45
59
2
Chapitre 1 : Présentation
A l’origine d’Eclipse IDE
Un logiciel libre
Architecture de base
Evolutions récentes
Projets Eclipses
Les langages supportés
3
A l’origine d’Eclipse
Un projet lancé chez IBM en 2001
Non de code : Eclipse IDE
Eclipse ? 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 « plugins » 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 JFace
basée sur SWT
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)
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)
Septembre 2006
Juin 2006
3.2.1
3.2 (Callisto)
21 projets. 17 millions de
lignes de codes écrites par 310
développeurs dans 19 pays.
dix projets concernés
7
Projets Eclipse
Grâce à l’architecture ouverte de nombreux projets Eclipse
libres 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)
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
COBOL
Pascal
PHP (PDT)
Javascript, XML, HTML, XUL
SQL
Action script, Coldfusion, Magik
9
Liens WEB utiles
Les sites officiels
http://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/enviro
nnements-developpement/eclipse/
Http://eclipse.developpez.com/cours
10
Chapitre 2 : Les notions de bases
La
Le
La
La
notion
notion
notion
notion
de
de
de
de
Workspace
Perspective
Vue
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 changer
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
Utiles : les vues Package Explorer, Console, Task List ,SVN
Repositories etc.. .
15
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 java
Sous forme de fichiers
Sous forme d’archive de fichiers .zip
Importer un projet Eclipse java
Depuis 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
Le nom du projet
Le répertoire source ( si existant )
La version du JRE
18
HelloWorld : Perspectives et Vues
Perspective
Active : Java
Liste des
perspectives
Vues
-Tasks
-Console
-Problems
Vue
-Package Explorer
19
HelloWorld : une autre perspective
Perspective
Active :
Java Broswing
20
HelloWorld : La vue console activée
Perspective
Active :
Java Broswing
Avec la vue
Console
Ici on a configuré la perspective Java Browsing avec la vue
console.
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
1) Cliquer droit sur le projet dans
la vue Package Explorer
2) Sélectionner Export … dans le
menu contextuel
3) Choisir General / File System dans la liste des destinations possibles
4) Cliquer sur le bouton « Next »
23
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
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
24
Exporter sous forme d’archives .ZIP .TAR
1) Cliquer droit sur le projet
dans la vue Package
Explorer
2) Sélectionner Export … dans
le menu contextuel
3) Choisir General / Archive File dans la liste des destinations possibles
4) Cliquer sur le bouton « Next »
25
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
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
26
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.
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.
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
28
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
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
29
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 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
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.
33
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
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
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 !
35
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
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 setParametres
avec un entier et un double
est créée pour corriger
l’erreur ! Quick Fixe !
Eclipse détecte une
erreur : la méthode
setParametres
n’existe pas !
37
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 nettoyage
Le formatage du code « CTRL+SHIFT+F »
L’indentation du code sélectionné « CTRL + I »
La mise à jour des imports et l’élimination des imports
inutilisés « CTRL + SHIFT + O »
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 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
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
43
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 à 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
« Run Configurations ». On peut donc à tout
moment lancer une configuration donnée, pour
n’importe quel projet ouvert.
48
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.
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 )
49
Gestion des configurations
1) Boutons Ajout,
Suppresion, etc …
2) Le nom de la
configuration
3) Onglets de
paramétrage. Ex :
les arguments du
main
4)
Le paramètre
5) Le bouton Apply
pour créer la
configuration
6) Le bouton run pour
lancer la
configuration et la
voir apparaître dans
les favoris.
50
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 JTutoDessin
JTutoDessin 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
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.
C:\build\jtutodessin.jar
53
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
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 »
54
Référencer une archive existante
Cliquer droit puis menu
« Build Path / Add
External Archive »
Le package
jtuto.dessin est
maintenant reconnu. L’archive
est référencée sous
« Referenced Librairies »
55
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.
Dans l’explorateur Windows,
un double click sur
hexagone.jar lance bien le
programme !
57
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
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