SlideShare une entreprise Scribd logo
1  sur  85
Télécharger pour lire hors ligne
Le classpath n'est pas
        mort...
       mais presque
   10:40-11:30 - Salle Miles Davis
Le classpath n'est pas
        mort...
         mais presque




         @AlexisHassler
  Développeur, formateur indépendant



                                       27 au 29 mars 2013
"Classpath is dead!"


Mark Reinhold
JavaOne 2009
Classpath
Classloader
Mort ?
Successeur
Alexis Hassler

Développeur, formateur Java
Indépendant
Co-leader du
Classpath
Chercher les classes

 String hello = "Bonjour Devoxx";
 MyStuff var;




                                            T H
                                       PA
                                    SS
                                 LA
                               C
-classpath



   java -cp hello-lib.jar HelloWorld
Manifest


       Manifest-Version: 1.0
       Class-Path: hello-lib.jar
       Main-Class: HelloWorld
Connaitre le classpath



     System.getProperty("java.class.path");
Erreurs

java.lang.NoClassDefFoundError


    java.lang.ClassNotFoundException
Classpath



     Géré par des classloaders
Classloader
java.lang.ClassLoader

loadClass(String name) : Class<?>

getResource(String name) : URL
getResources(String name) : Enumeration<URL>
getResourceAsStream(String name) : InputStream

getParent() : ClassLoader
Classloader

          MyStuff.class.getClassLoader()




                                                        T H
                                                   PA
sun.misc.Launcher$AppClassLoader                SS
                                             LA
                                           C
Bootstrap Classloader


    classloader.getClass().getClassLoader()




                                  null
Bootstrap Classloader




           BootstrapClassLoader
Délégation

un.misc.Launcher$AppClassLoader
      System ClassLoader              Parent
                   t h                 first
                p asun.misc.Launcher$ExtClassLoader
             s s        Extension ClassLoader          Parent first

       C   la                      nsion
                                xte             BootstrapClassLoader
                               E
Délégation

  System ClassLoader
               t h
            p a
         s s           java -cp hello-lib.jar ...

   C   la
                       System.getProperty("java.class.path")
                       ;
Délégation

 java -Djava.ext.dirs=~/.java7/ext ...


                   Extension ClassLoader

                              sion
                             n
                         xte
                        E


                   System.getProperty("java.ext.dirs");
Délégation



         Ext != Endorsed
Délégation


  java -Xbootclasspath:hello-rt.jar ...



                                          BootstrapClassLoader



  System.getProperty("sun.boot.class.path")
  ;
bootclasspath

 java -Xbootclasspath:hello-rt.jar ...



 java -Xbootclasspath/a:hello-lib.jar ...




 java -Xbootclasspath/p:hello-lib.jar ...
Endorsed

  java -Djava.endorsed.dirs=~/.java7/endorsed ...




                                        BootstrapClassLoader
                                                    d
                                                 rse
                                           d   o
                                         En
Endorsed

APIs standards hors JCP
   org.omg (CORBA), org.w3c.dom, org.xml.sax
    (XML)

APIs standalone
   JAXP, JAXB, Scripting, Compiler API,...
Démonstration

http://github.com/hasalex/classpath-demo




                                           27 au 29 mars 2013
Démonstration
 System ClassLoader             BootstrapClassLoader




  classloader-demo




 java -cp cl-demo.jar fr.sewatech.classpath.Count
Démonstration
                                   BootstrapClassLoader




    classloader-demo




java -Xbootclasspath/p:lib/cl-demo.jar fr.sewatech.classpath.Count
URLClassloader


             java.net.URLClassLoader
                                                      URL
                                                       URL
                                                        URL

un.misc.Launcher$AppClassLoader

                   sun.misc.Launcher$ExtClassLoader
URLClassloader

  URL ClassLoader          Parent
                            first

                    URL ClassLoader          Parent
                                              first

  URL ClassLoader
                                    System ClassLoader    Parent
                                                           first

                                                Bootstrap ClassLoader
FLTM Classloader



       Fait Le Toi-Même
Usages

Application Servers
JRebel
Javassist, CGLib,...
Tomcat

   Webapp1


 Webapp2
                      Common

 Webapp3
                               System
             Local First

                                        Bootstrap
JBoss AS 5

                Web App
                Local First

                                Common


                   Repo First
Web Module
 Web App                                 System
                   Ent App

   EJB Module                                     Bootstrap
Erreurs

                      WT
ClassCastException
                        F ?
      MyStuff cannot be cast to MyStuff
Erreurs


URL ClassLoader   MyStuff var = MyStuffFactory.build();


                               ≠
URL ClassLoader   return new MyStuff() ;
Démonstration


http://github.com/hasalex/classpath-demo




                                           27 au 29 mars 2013
Démonstration

                     message-main



  classloader-demo
                         message-common



                     message-printer
Démonstration




                                              Ma a
                                                ve ssL
                                                 Cl
          path




                                                  n R oa
 C la   ss                     message-main




                                                     ep d e
                                                       os r
      classloader-demo
                                   message-common




                                                         ito
                                                             ry
                              message-printer

java -cp cl-demo.jar:msg-main.jar fr.sewatech.classpath.HelloViaMvnRepo
Démonstration

        System ClassLoader   ParentFirst ClassLoader




                                  message-main
 classloader-demo

                                message-common
         message-main
                                 message-printer
Démonstration

        System ClassLoader   LocalFirst ClassLoader




                                 message-main
 classloader-demo

                               message-common
         message-main
                                message-printer
Mort
Jar
                                  HELL


http://www.ironmaidenwallpaper.
Dépendances

Maven, Gradle,...
Dépendances



                     ath
                  sp
                s
          C   la
Runtime

A plat
                                            t h
Fichiers jar                             p a
                                    ss
   juste du stockage          C   la
   pas ou peu de métadonnée
Runtime

Hiérarchique
   applications server
Démonstration

http://github.com/hasalex/classpath-demo




                                           27 au 29 mars 2013
Démonstration
                                          slf4j-api
                                            1.7.2

                     message-main



  classloader-demo
                         message-common



                     message-printer
                                          slf4j-api
                                           1.5.11
Remplaçant
Granularité

Classpath

            Application
Granularité

Application Web / JavaEE
              Application Monolithique
Granularité

Application Web / JavaEE
         Application   Librairies partagées
Modularité

Application Web / JavaEE
    Application
Modularité

             Visibilité
Import
          Export


Dépendances transitives
Java embarqué
       Java SE
       Java serveur
1999
OSGi

Bundle
   Fichier jar
   META-INF/MANIFEST.MF
   Import / export de packages
OSGi


   Bundle-Name = Simple Bundle
   Bundle-SymbolicName = simple-bundle
   Bundle-Description = Simple Bundle.
   Export-Package = fr.sewatech.mystuff.services
   Import-Package = org.osgi.framework;version=1.3
   Bundle-Version = 1.0.1
OSGi


                                             Services
       Applications
       (bundles)
                                       Life Cycle

                                    Module

                      Java Execution Environment

                       OS + Hardware
OSGi

Apporte de la valeur
   => applications hautement dynamiques

Apporte de la complexité
   => outils pour gérer la complexité
Jigsaw

Projet OpenJDK


             (2008)   8 (2012)   9 (2015)   ...
Intégré au JDK 7
Jigsaw

Modularité des applications


Modularité du JDK
Jigsaw

Dépendance à une partie du JDK
   Plus besoin de Corba pour Hello World
   Plus besoin de Swing pour Tomcat

Repository
   Téléchargement automatique des modules
Jigsaw

module-info.java
     module message-main @ 1.0 {
         exports fr.sewatech.message;
         requires fr.sewatech.message-common @ 1.1;
         class fr.sewatech.message.Main;
     }
JBoss Modules

Sous-projet de JBoss AS 7
Inspiré de Jigsaw
Base de JBoss OSGi
JBoss Modules

Java SE

     java -jar jboss-modules.jar -mp path/to/modules
          my.main.module.name
JBoss Modules
            org
                  hibernate
  module              main
    s
     com                 hibernate-infinispan-4.1.6.F
    fr                             inal.jar
                         hibernate-core-4.1.6.Fin
    org                           al.jar
                         hibernate-entitymanager-4.1.6
    ...                             .Final.jar
                         module.x
                            ml
JBoss Modules
  <?xml version="1.0" encoding="UTF-8"?>
  <module xmlns="urn:jboss:module:1.1"
         name="fr.sewatech.conference.classloader-demo">
     <main-class name="fr.sewatech.classpath.Hello"/>
     <resources>
         <resource-root path="classloader-demo-1.0-SNAPSHOT.jar"/>
     </resources>
     <dependencies>
         <module name="fr.sewatech.conference.message-main" />
     </dependencies>
  </module>
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.hibernate">
   <resources>
       <resource-root path="hibernate-core-4.0.0.Final.jar"/>
       <resource-root path="hibernate-commons-annotations-4.0.1.Final.jar"/>
       <resource-root path="hibernate-entitymanager-4.0.0.Final.jar"/>
   </resources>
   <dependencies>
       <module name="javax.api"/>
       <module name="javax.persistence.api"/>
       <module name="javax.transaction.api"/>
       <module name="org.apache.commons.collections"/>
       <!-- ... -->
   </dependencies>
</module>
Démonstration


http://github.com/hasalex/classpath-demo




                                           27 au 29 mars 2013
JBoss AS 7




             bin          Scripts de démarrage
             modules      Modules JBoss
             standalone     Profil standalone
             domain       Profil
                   domain Composants
             bundles
                      OSGi
JBoss AS 7


  message.war



                bin          Scripts de démarrage
                modules      Modules JBoss
                standalone     Profil standalone
                domain       Profil
                      domain Composants
                bundles
                         OSGi
Tomcat

Classloading
                                System
                              ClassLoader

                                Common
         $CATALINA_HOME/li
                              Class Loader
         b


           WEB-INF/classes,     Webapp
                WEB-INF/lib   ClassLoader
Tomcat

Module ?
                                  System
                                ClassLoader

                                  Common
         $CATALINA_HOME/li
                                Class Loader
         b


             WEB-INF/classes,     Webapp
                  WEB-INF/lib     Module
                                ClassLoader
                                ClassLoader
    module
      s
Tomcat

A suivre...


https://github.com/hasalex/tomcat-modules
Démonstration


http://github.com/hasalex/classpath-demo




                                           27 au 29 mars 2013
Cible

Applications complexes


Beaucoup de réutilisation
Développement / déploiement



          Artefacts ≠ Modules
   Notions différentes
   Outillage difficile
En attendant Jigsaw ?
Merci
Questions
    /
Réponses

            27 au 29 mars 2013

Contenu connexe

En vedette

MarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presqueMarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presqueAlexis Hassler
 
Blueprints article
Blueprints articleBlueprints article
Blueprints articleReneeLibby
 
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)Alexis Hassler
 
JBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesJBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesAlexis Hassler
 
Contract magazine clip
Contract magazine clipContract magazine clip
Contract magazine clipReneeLibby
 
Logistic regression for ordered dependant variable with more than 2 levels
Logistic regression for ordered dependant variable with more than 2 levelsLogistic regression for ordered dependant variable with more than 2 levels
Logistic regression for ordered dependant variable with more than 2 levelsArup Guha
 
How principal components analysis is different from factor
How principal components analysis is different from factorHow principal components analysis is different from factor
How principal components analysis is different from factorArup Guha
 
Measuring Actual Effect Of Tv Ads On Sales Lk
Measuring Actual Effect Of Tv Ads On Sales   LkMeasuring Actual Effect Of Tv Ads On Sales   Lk
Measuring Actual Effect Of Tv Ads On Sales LkArup Guha
 
JBoss AS 7, la révolution
JBoss AS 7, la révolutionJBoss AS 7, la révolution
JBoss AS 7, la révolutionAlexis Hassler
 
Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012Alexis Hassler
 
JavaEE - Test & Deploy
JavaEE - Test & DeployJavaEE - Test & Deploy
JavaEE - Test & DeployAlexis Hassler
 
Как выбрать хостинг
Как выбрать хостингКак выбрать хостинг
Как выбрать хостингPro Partnerka
 
Sistema nacional de nivelacòn y admisìon
Sistema nacional de nivelacòn y admisìonSistema nacional de nivelacòn y admisìon
Sistema nacional de nivelacòn y admisìonronnievela
 

En vedette (15)

MarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presqueMarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presque
 
Blueprints article
Blueprints articleBlueprints article
Blueprints article
 
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)
 
JBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesJBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuages
 
Contract magazine clip
Contract magazine clipContract magazine clip
Contract magazine clip
 
Louie
LouieLouie
Louie
 
Logistic regression for ordered dependant variable with more than 2 levels
Logistic regression for ordered dependant variable with more than 2 levelsLogistic regression for ordered dependant variable with more than 2 levels
Logistic regression for ordered dependant variable with more than 2 levels
 
How principal components analysis is different from factor
How principal components analysis is different from factorHow principal components analysis is different from factor
How principal components analysis is different from factor
 
Measuring Actual Effect Of Tv Ads On Sales Lk
Measuring Actual Effect Of Tv Ads On Sales   LkMeasuring Actual Effect Of Tv Ads On Sales   Lk
Measuring Actual Effect Of Tv Ads On Sales Lk
 
JBoss AS 7, la révolution
JBoss AS 7, la révolutionJBoss AS 7, la révolution
JBoss AS 7, la révolution
 
Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012
 
JavaEE - Test & Deploy
JavaEE - Test & DeployJavaEE - Test & Deploy
JavaEE - Test & Deploy
 
Как выбрать хостинг
Как выбрать хостингКак выбрать хостинг
Как выбрать хостинг
 
Tie ups to fullfill the industry needs
Tie ups to fullfill the industry needsTie ups to fullfill the industry needs
Tie ups to fullfill the industry needs
 
Sistema nacional de nivelacòn y admisìon
Sistema nacional de nivelacòn y admisìonSistema nacional de nivelacòn y admisìon
Sistema nacional de nivelacòn y admisìon
 

Similaire à DevoxxFR 2013 - Le classpath n'est pas mort, mais presque

osgi-parisjug-20081014-presentation
osgi-parisjug-20081014-presentationosgi-parisjug-20081014-presentation
osgi-parisjug-20081014-presentationngriso
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation GroovyJS Bournival
 
Langage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetLangage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetMohammed Jaafar
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scalaSOAT
 
2013 01-08-php-maturite
2013 01-08-php-maturite2013 01-08-php-maturite
2013 01-08-php-maturiteRémi Alvado
 
Introduction java
Introduction javaIntroduction java
Introduction javaFouad Root
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflectionEric Toguem
 
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013Xavier NOPRE
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev javaAmel Morchdi
 
Java 8 : Un ch'ti peu de lambda
Java 8 : Un ch'ti peu de lambdaJava 8 : Un ch'ti peu de lambda
Java 8 : Un ch'ti peu de lambdaCh'ti JUG
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
Back to the future of java (from 8 to 11 and beyond)
Back to the future of java (from 8 to 11 and beyond)Back to the future of java (from 8 to 11 and beyond)
Back to the future of java (from 8 to 11 and beyond)Jérôme Tamborini
 

Similaire à DevoxxFR 2013 - Le classpath n'est pas mort, mais presque (20)

XB-Java.ppt
XB-Java.pptXB-Java.ppt
XB-Java.ppt
 
osgi-parisjug-20081014-presentation
osgi-parisjug-20081014-presentationosgi-parisjug-20081014-presentation
osgi-parisjug-20081014-presentation
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Langage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetLangage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté Objet
 
Cours de JAVA de base
Cours de JAVA  de baseCours de JAVA  de base
Cours de JAVA de base
 
Java
JavaJava
Java
 
Drools
DroolsDrools
Drools
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scala
 
2013 01-08-php-maturite
2013 01-08-php-maturite2013 01-08-php-maturite
2013 01-08-php-maturite
 
Introduction java
Introduction javaIntroduction java
Introduction java
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflection
 
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev java
 
Java 8 : Un ch'ti peu de lambda
Java 8 : Un ch'ti peu de lambdaJava 8 : Un ch'ti peu de lambda
Java 8 : Un ch'ti peu de lambda
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Back to the future of java (from 8 to 11 and beyond)
Back to the future of java (from 8 to 11 and beyond)Back to the future of java (from 8 to 11 and beyond)
Back to the future of java (from 8 to 11 and beyond)
 
575
575575
575
 

Plus de Alexis Hassler

DevoxxFR17 - Préparez-vous à la modularité selon Java 9
DevoxxFR17 - Préparez-vous à la modularité selon Java 9DevoxxFR17 - Préparez-vous à la modularité selon Java 9
DevoxxFR17 - Préparez-vous à la modularité selon Java 9Alexis Hassler
 
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpathLausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpathAlexis Hassler
 
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath JavaDevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath JavaAlexis Hassler
 
Soft-Shake 2016 : Jigsaw est prêt à tuer le classpath
Soft-Shake 2016 : Jigsaw  est prêt à tuer le classpathSoft-Shake 2016 : Jigsaw  est prêt à tuer le classpath
Soft-Shake 2016 : Jigsaw est prêt à tuer le classpathAlexis Hassler
 
LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath Alexis Hassler
 
INSA Lyon - Java in da Cloud - 06/2016
INSA Lyon - Java in da Cloud - 06/2016INSA Lyon - Java in da Cloud - 06/2016
INSA Lyon - Java in da Cloud - 06/2016Alexis Hassler
 
LorraineJUG - Le classpath n'est pas mort
LorraineJUG - Le classpath n'est pas mortLorraineJUG - Le classpath n'est pas mort
LorraineJUG - Le classpath n'est pas mortAlexis Hassler
 
ElsassJUG - Le classpath n'est pas mort...
ElsassJUG - Le classpath n'est pas mort...ElsassJUG - Le classpath n'est pas mort...
ElsassJUG - Le classpath n'est pas mort...Alexis Hassler
 
INSA - Java in Ze Cloud - 2014
INSA - Java in Ze Cloud - 2014INSA - Java in Ze Cloud - 2014
INSA - Java in Ze Cloud - 2014Alexis Hassler
 
softshake 2014 - Java EE
softshake 2014 - Java EEsoftshake 2014 - Java EE
softshake 2014 - Java EEAlexis Hassler
 
DevoxxFR 2013 - Arquillian
DevoxxFR 2013 - ArquillianDevoxxFR 2013 - Arquillian
DevoxxFR 2013 - ArquillianAlexis Hassler
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Alexis Hassler
 
Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012Alexis Hassler
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012Alexis Hassler
 
Arquillian : Tester sur terre et dans les nuages
Arquillian : Tester sur terre et dans les nuagesArquillian : Tester sur terre et dans les nuages
Arquillian : Tester sur terre et dans les nuagesAlexis Hassler
 
Arquillian, un alien en Bretagne
Arquillian, un alien en BretagneArquillian, un alien en Bretagne
Arquillian, un alien en BretagneAlexis Hassler
 
Tester la persistance Java avec Arquillian
Tester la persistance Java avec ArquillianTester la persistance Java avec Arquillian
Tester la persistance Java avec ArquillianAlexis Hassler
 
Tests d'intégration avec Arquillian
Tests d'intégration avec ArquillianTests d'intégration avec Arquillian
Tests d'intégration avec ArquillianAlexis Hassler
 
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnASDéploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnASAlexis Hassler
 

Plus de Alexis Hassler (20)

DevoxxFR17 - Préparez-vous à la modularité selon Java 9
DevoxxFR17 - Préparez-vous à la modularité selon Java 9DevoxxFR17 - Préparez-vous à la modularité selon Java 9
DevoxxFR17 - Préparez-vous à la modularité selon Java 9
 
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpathLausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
 
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath JavaDevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java
 
Soft-Shake 2016 : Jigsaw est prêt à tuer le classpath
Soft-Shake 2016 : Jigsaw  est prêt à tuer le classpathSoft-Shake 2016 : Jigsaw  est prêt à tuer le classpath
Soft-Shake 2016 : Jigsaw est prêt à tuer le classpath
 
LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath
 
INSA Lyon - Java in da Cloud - 06/2016
INSA Lyon - Java in da Cloud - 06/2016INSA Lyon - Java in da Cloud - 06/2016
INSA Lyon - Java in da Cloud - 06/2016
 
LorraineJUG - Le classpath n'est pas mort
LorraineJUG - Le classpath n'est pas mortLorraineJUG - Le classpath n'est pas mort
LorraineJUG - Le classpath n'est pas mort
 
LorraineJUG - WildFly
LorraineJUG - WildFlyLorraineJUG - WildFly
LorraineJUG - WildFly
 
ElsassJUG - Le classpath n'est pas mort...
ElsassJUG - Le classpath n'est pas mort...ElsassJUG - Le classpath n'est pas mort...
ElsassJUG - Le classpath n'est pas mort...
 
INSA - Java in Ze Cloud - 2014
INSA - Java in Ze Cloud - 2014INSA - Java in Ze Cloud - 2014
INSA - Java in Ze Cloud - 2014
 
softshake 2014 - Java EE
softshake 2014 - Java EEsoftshake 2014 - Java EE
softshake 2014 - Java EE
 
DevoxxFR 2013 - Arquillian
DevoxxFR 2013 - ArquillianDevoxxFR 2013 - Arquillian
DevoxxFR 2013 - Arquillian
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012
 
Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012
 
Arquillian : Tester sur terre et dans les nuages
Arquillian : Tester sur terre et dans les nuagesArquillian : Tester sur terre et dans les nuages
Arquillian : Tester sur terre et dans les nuages
 
Arquillian, un alien en Bretagne
Arquillian, un alien en BretagneArquillian, un alien en Bretagne
Arquillian, un alien en Bretagne
 
Tester la persistance Java avec Arquillian
Tester la persistance Java avec ArquillianTester la persistance Java avec Arquillian
Tester la persistance Java avec Arquillian
 
Tests d'intégration avec Arquillian
Tests d'intégration avec ArquillianTests d'intégration avec Arquillian
Tests d'intégration avec Arquillian
 
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnASDéploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
 

DevoxxFR 2013 - Le classpath n'est pas mort, mais presque