forked from hasalex/classpath-demo
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
70 lines (48 loc) · 2.28 KB
/
README
File metadata and controls
70 lines (48 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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
-----------
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