Logo Virgo

Let’s work OSGi Virgo on Eclipse

Publié dans Java | Marqué avec , , ,
Share

Virgo se présente comme le nouveau et futur module OSGi pour Eclipse performant et facile à utiliser. En très gros, il offre les fonctionnalités du framework Spring (puisqu’il s’appuie dessus) permettant de gérer convenablement des projets OSGi, et fournit un serveur OSGi (appelé Virgo, anciennement Spring dm Server) utilisant Equinox. N’hésitez pas à visiter le site Web de Virgo pour en savoir plus. Ah oui, et OSGi, c’est un « framework » Java pour gérer des projets Java en s’occupant des dépendances, des cycles de vies, et de tout un tas de choses… Il existe deux implémentations phares de Virgo : Felix et Equinox. Hum, bref, je vous renvoie la page Wikipédia d’OSGi !
Logo de l'alliance OSGiCar ce dont je souhaite bloguer aujourd’hui (du verbe « bloguer » : je blogue, tu bolgues, il/elle/on bluoge, nous bogluons, vous bugolez, ils bolugent), c’est de l’installation d’un environnement Virgo (sur Eclipse, forcément, pas vraiment le choix) !

Installation du serveur Virgo

Je pars du principe que l’on est sur un OS Windows. Si vous êtes Linuxien ou autre soit vous saurez faire en lisant les lignes ci-dessous, soit vous savez déjà où trouver l’information !

Tout d’abord il faut télécharger Virgo : http://www.eclipse.org/virgo/download/

  • Le kernel (à dézipper et à déposer dans un dossier « Virgo » dans « Program Files » par exemple)
  • Le serveur OSGi Tomcat ou Jetty à vous de voir (idem)

Ensuite, il faut configurer les variables d’environnements de l’OS ! Si vous ne savez plus comment faire : Lister, ajouter, modifier, supprimer des variables d’environnement sous Windows. Vérifiez que votre variable JAVA_HOME pointe vers votre JDK Java (et non pas le JRE), qu’elle est inclue dans la variable PATH, et faites pointer la variable VIRGO_HOME vers votre serveur OSGi Tomcat (donc quelque chose du style : « C:\Program FilesVirgo\virgo-tomcat-server ») ou Jetty.

Test du serveur Virgo

Nous allons maintenant tester que tout fonctionne ! Nos bundle OSGi tourneront sur le serveur que nous venons d’installer, et nous le gérerons à partir d’Eclipse, mais dans un premier temps nous allons vérifier que ce server fonctionne tout seule. Ouvrez donc une console : Menu démarrer / Excécuter… taper « cmd » et exécuter les commandes suivantes :

console>cd %VIRGO_HOME%

console>bin\startup.bat

Et si tout fonctionne bien, Virgo va démarrer, installer et lancer les différents bundles. Même si la console continue de vous écrire tout un tas de messages de status, elle devrait vous dire à un moment :

[2011-10-30 12:12:12.111] Thread-2   <UR0001I> User region ready.

Console Virgo (OSGi)Faites CTRL+C pour fermer le serveur.

Le serveur Virgo est donc opérationnel ! Reste à installer les utilitaires OSGi (et autre) sur Eclipse, et à le lier à ce serveur. Ainsi, on ne gèrera plus le serveur en ligne de commande, mais directement via le plugin Virgo d’Eclipse.

Installation de Virgo sur Eclipse

Il faut noter que le développement de Virgo évolue très rapidement. Les explications ci-dessous fonctionne très bien pour Eclipse Indigo (3.7) le 9 novembre 2011. Mais d’autres explications circulent sur Internet (datant d’à peine 2 mois) et ne sont déjà plus valables. Alors, attention et bon courage ! N’hésitez pas à me prévenir si ces informations deviennent périmées.

Allez dans Help / Install New Softwares…

Eclipse Install new softwaresEt ajoutez les deux repository suivants :

Eclipse add software sitePuis installez les :

  • installez Core/Spring IDE en sélectionnant seulement
  • installez Virgo IDE

Eclipse install core/Spring IDE

Depuis mes derniers tests en avril 2012, il semble préférable de suivre les indications d’installation de la version Snapshot que l’on trouve sur le Wiki Eclipse Virgo : page Tooling. Je recopie les instructions ici :

  • Add Eclipse Libra milestone update site: http://download.eclipse.org/libra/milestones
  • Add Bundlor milestone update site: http://download.eclipse.org/virgo/milestone/BNDLR/1.1.0.M04/updatesite/
  • Add Virgo update site: http://download.eclipse.org/virgo/updatesite/3.5.0.M02
  • Go to « Install New Software » and put the Virgo IDE nightly snapshot update site into the dialog: http://download.eclipse.org/virgo/snapshot/IDE
  • Select the « Core / Virgo IDE » feature and install

Virgo est désormais installé sur votre Eclipse ! Reste à l’utiliser !

Configuration de Virgo sur Eclipse

Virgo est installer sur Eclipse, nous pouvons donc lancer des instances de ce serveur via Eclipse. Pour cela, ouvrez (si ce n’est déjà fait) l’onglet « Server » d’Eclipse (ce qui nécessite peut-être Eclipse Java EE). Puis dans cet onglet faites : Clic droit > New / Server.

Sélectionnez ensuite EclipseRT > Virgo Web Server. Donnez un nom à votre instance de serveur. La première fois, nous allons devoir préciser à Eclipse où trouver le serveur Virgo. Donc dans « Server runtime environnement », cliquez sur « Add… ».

Eclipse add new serverConfigurez le chemin vers votre serveur Virgo Tomcat, et puis cliquez sur « Finish » de partout !Eclipse configure Virgo server pathSi tout va bien : votre serveur Virgo est opérationnel sur Eclipse ! Vous pouvez le démarrer, le stopper, le configurer, y ajouter des bundles (c’est-à-dire des projets Eclipse compilez sous forme de bundle. Les outils Core/Spring IDE et Virgo IDE vous facilitent beaucoup ce travail là).Eclipse server Virgo availableEh bien voilà ! Il ne reste plus qu’à développer des applications OSGi maintenant ! Yeah ! On verra si cela fait l’objet d’un nouveau billet ou pas.

4 réponses à Let’s work OSGi Virgo on Eclipse

  1. Ping : Générer get et set PHP avec Eclipse - 30 minutes par jour

  2. Ping : Generate PHP get and set using Eclipse - 30 minutes par jour

  3. Ping : Virgo OSGi and command line - 30 minutes par jour

  4. Ping : Installer et Configurer Eclipse - 30 minutes par jour

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*