diff --git a/.project b/.project new file mode 100644 index 0000000..def6ae2 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + classpath-demo + + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.m2e.core.maven2Nature + + diff --git a/README b/README index 1509250..fb79812 100644 --- a/README +++ b/README @@ -1,58 +1,70 @@ -Démo de la présentation "Le classpath n'est pas mort... mais presque" ---------------- - -Ce projet a servi pour la démo à DevoxxFR 2013 - -Préparation ------------ - -1° étape : cloner le projet. Ben oui, c'est du git. - - git clone git://github.com/hasalex/classpath-demo.git - -2° étape : créer un répertoire de travail - - mkdir classpath-demo-work - cd classpath-demo-work - ln -s ../classpath-demo/scripts/prepare.sh - sh prepare.sh - -Rem. : le script doit subir quelques améliorations, par exemple pour la copie de jboss-module.jar - -3° étape : préparer Tomcat (pour la démo n°5) - -cf. https://github.com/hasalex/tomcat-modules - -Démo 1 : classpath & bootclasspath ------------ - -java fr.sewatech.classpath.Count 40 45 -java -cp lib/cl-demo.jar fr.sewatech.classpath.Count 40 45 -java -Xbootclasspath/p:lib/cl-demo.jar fr.sewatech.classpath.Count 40 45 - -Démo 2 : URLClassLoader & custom ClassLoader ------------ - -java -cp lib/cl-demo.jar fr.sewatech.classpath.Hello -java -cp "lib/*" fr.sewatech.classpath.Hello -java -cp lib/cl-demo.jar fr.sewatech.classpath.HelloViaURL -java -cp lib/cl-demo.jar fr.sewatech.classpath.HelloViaMvnRepo 1.0-SNAPSHOT -java -cp lib/cl-demo.jar fr.sewatech.classpath.HelloViaMvnRepo 1.0-SNAPSHOT local -java -cp lib/cl-demo.jar:lib/msg-printer.jar fr.sewatech.classpath.HelloViaMvnRepo 1.0-SNAPSHOT -java -cp lib/cl-demo.jar:lib/msg-printer.jar fr.sewatech.classpath.HelloViaMvnRepo 1.0-SNAPSHOT local - -Démo 3 : jar hell ------------ - -java -cp "lib/*" fr.sewatech.classpath.Hello log - -Démo 4 : jboss modules ------------ - -java -jar lib/jboss-modules.jar -mp modules fr.sewatech.conference.classloader-demo - -Démo 5 : tomcat modules ------------ - -mvn clean install -mvn clean install -Pmodule +Démo de la présentation "Le classpath n'est pas mort... mais presque" +--------------- + +Ce projet a servi pour la démo à  DevoxxFR 2013 + +Préparation +----------- +0/ utiliser JDK 7 ou superieur, Maven est configuré ainsi. + +1/ étape : cloner le projet. Ben oui, c'est du git. + + git clone git://github.com/hasalex/classpath-demo.git + + cloner et builder le projet tomcat-modules dont il depend + cf. https://github.com/hasalex/tomcat-modules + + Pour cloner sous eclipse avec eGit, ajouter à la racine le fichier .project avant d'importer le projet + Ceci pour definir un projet maven multi-modules. + +2/ étape : créer un répertoire de travail + + mkdir classpath-demo-work + cd classpath-demo-work + ln -s ../classpath-demo/scripts/prepare.sh + sh prepare.sh + +Rem. : pour l'utiliser sous l'os windows utiliser 'git bash' : ca marche +par exemple pour setter le JAVA_HOME, ajouter en debut de script (attention au chemin des repertoires !) +export JAVA_HOME=/c/Java/jdk1.7.0_12 +export PATH=$JAVA_HOME/bin:$PATH + +Rem. : le script doit subir quelques améliorations, par exemple pour la copie de jboss-module.jar + +3/ étape : préparer Tomcat (pour la démo n°5) + +cf. https://github.com/hasalex/tomcat-modules + +Démo 1 : classpath & bootclasspath +----------- + +java fr.sewatech.classpath.Count 40 45 +java -cp lib/cl-demo.jar fr.sewatech.classpath.Count 40 45 +java -Xbootclasspath/p:lib/cl-demo.jar fr.sewatech.classpath.Count 40 45 + +Démo 2 : URLClassLoader & custom ClassLoader +----------- + +java -cp lib/cl-demo.jar fr.sewatech.classpath.Hello +java -cp "lib/*" fr.sewatech.classpath.Hello +java -cp lib/cl-demo.jar fr.sewatech.classpath.HelloViaURL +java -cp lib/cl-demo.jar fr.sewatech.classpath.HelloViaMvnRepo 1.0-SNAPSHOT +java -cp lib/cl-demo.jar fr.sewatech.classpath.HelloViaMvnRepo 1.0-SNAPSHOT local +java -cp lib/cl-demo.jar:lib/msg-printer.jar fr.sewatech.classpath.HelloViaMvnRepo 1.0-SNAPSHOT +java -cp lib/cl-demo.jar:lib/msg-printer.jar fr.sewatech.classpath.HelloViaMvnRepo 1.0-SNAPSHOT local + +Démo 3 : jar hell +----------- + +java -cp "lib/*" fr.sewatech.classpath.Hello log + +Démo 4 : jboss modules +----------- + +java -jar lib/jboss-modules.jar -mp modules fr.sewatech.conference.classloader-demo + +Démo 5 : tomcat modules +----------- + +mvn clean install +mvn clean install -Pmodule