Skip to content

eheb/classpath-demo

 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.1%
  • Shell 0.9%