Salut, Ô programmeur, programmeuse.
Allons droit au but !!!
Etant revenu des vacances, j'ai décidé de m'y (re)mettre au langage Java. A vrai dire, si j'ai pris cette decision, c'est surtout grâce au langage de script Groovy qui en quelque sorte redonne une seconde jeunesse à Java.
J'ai donc téléchargé groovy (le fichier avec l'installateur, l'executable), version 1.6.4 que j'utilise avec le jdk version 1.5.0_10.
Par la suite l'installateur m'a crée la variable d'environnement :
GROOVY_HOME, ayant pour valeur : C:\Program Files\Groovy\Groovy-1.6.4
L'installateur m'a modifié la variable d'environnement :
PATH, en ajoutant : %GROOVY_HOME%\bin
Et j'ai crée manuellement la variable d'environnement :
CLASSPATH ayant pour valeur : C:\Program Files\Groovy\Groovy-1.6.4\embeddable\groovy-all-1.6.4.jar;C:\Program Files\Java\jdk1.5.0_10\lib
Pour tester le tout, j'ai utilisé ce code source groovytest.groovy :
et ce code source MaClasseGroovy.java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 println('Hello World : ' + argument) return "Valeur de retour"
Ces deux codes sources sont tirés de l'article "Introduction au langage de script Groovy" trés bon tutoriel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 import groovy.lang.Binding; import groovy.lang.GroovyShell; import groovy.lang.Script; import java.io.File; import java.io.IOException; import org.codehaus.groovy.control.CompilationFailedException; public class MaClasseGroovy{ public static void main(String[] args){ GroovyShell shell = new GroovyShell(); Script script; try { // Chargement du script groovy script = shell.parse(new File("./groovytest.groovy")); Binding binding = new Binding(); // Création d'un paramètre binding.setVariable("argument", "Saint Nicolas"); script.setBinding(binding); // Exécution du script Object retour = script.run(); // Affichage de la valeur de retour du script System.out.println(retour); } catch (CompilationFailedException e){ e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Pour compiler j'utilise la super Invite de commande de Windows XP.
Je tape :
javac MaClasseGroovy.java
et
java MaClasseGroovy
et voici ce que m'affiche la console :
C:\Program Files\Java\jdk1.5.0_10\lib>java MaClasseGroovy
Exception in thread "main" java.lang.NoClassDefFoundError: org/objectweb/asm/Opcodes
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethods(Unknown Source)
at org.codehaus.groovy.reflection.CachedClass$3$1.run(CachedClass.java:83)
at java.security.AccessController.doPrivileged(Native Method)
at org.codehaus.groovy.reflection.CachedClass$3.initValue(CachedClass.java:80)
at org.codehaus.groovy.reflection.CachedClass$3.initValue(CachedClass.java:78)
at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:33)
at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:20)
at org.codehaus.groovy.reflection.CachedClass.getMethods(CachedClass.java:252)
at groovy.lang.MetaClassImpl.addInterfaceMethods(MetaClassImpl.java:365)
at groovy.lang.MetaClassImpl.fillMethodIndex(MetaClassImpl.java:289)
at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2890)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:106)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:65)
at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:28)
at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:47)
at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
at groovy.lang.Binding.<init>(Binding.java:32)
at groovy.lang.GroovyShell.<init>(GroovyShell.java:55)
at MaClasseGroovy.main(MaClasseGroovy.java:16)Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Opcodes
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 33 more
Y'a-t-il des personnes qui sauraient d'ou vient le problème ?
Je vous reMercie pour votre aide.
Partager