Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>classpath-demo</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
128 changes: 70 additions & 58 deletions README
Original file line number Diff line number Diff line change
@@ -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