Bonjour à tous
Ma question est assez simple.. je suis en train d'écrire une Custom Task faisant plein de traitements java, or, à un moment, j'ai besoin de "zipper" un répertoire ou d'en créer un nouveau.
Je me suis dit alors "pourquoi réinventer la roue" : je vais faire appel aux tasks de ant qui sont déjà définies... Ca marche pour le MkDir, mais absolument pas pour le Zip :/
Exemple :
destDir, archiveFile et zipFileSet sont des paramètres que j'ai setté à ma custom task ... pas de problèmes là dessus ...
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 public void execute() throws BuildException{ // D'autres traitements java ... Mkdir tMkDir = new Mkdir(); tMkDir.init(); tMkDir.setDir(destDir); tMkDir.execute(); Zip tZip = new Zip(); tZip.init(); tZip.setDestFile(archiveFile); tZip.addZipfileset(zipFileSet); tZip.perform(); // D'autres traitements java ... }
Lors de l'execution, avec un verbose, je récupère l'exception :
(à noter que la ligne 118 de mon fichier (Dump.java) correspond à la ligne ou je fais le perform de mon instance de Zip)
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
42
43
44
45
46
47
48 BUILD FAILED E:\Taf\eclipse workspace\Maintenance\build.xml:9: java.lang.NullPointerException at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:115) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.tools.ant.Target.performTasks(Target.java:385) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) at org.apache.tools.ant.Project.executeTarget(Project.java:1298) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1181) at org.apache.tools.ant.Main.runBuild(Main.java:698) at org.apache.tools.ant.Main.startAnt(Main.java:199) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) Caused by: java.lang.NullPointerException at org.apache.tools.ant.Task.perform(Task.java:344) at maintenancetasks.Dump.execute(Dump.java:118) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) ... 11 more --- Nested Exception --- java.lang.NullPointerException at org.apache.tools.ant.Task.perform(Task.java:344) at maintenancetasks.Dump.execute(Dump.java:118) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.tools.ant.Target.performTasks(Target.java:385) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) at org.apache.tools.ant.Project.executeTarget(Project.java:1298) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1181) at org.apache.tools.ant.Main.runBuild(Main.java:698) at org.apache.tools.ant.Main.startAnt(Main.java:199) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) Total time: 1 second
Je suppose qu'il doit y avoir un problème d'initialisation de contexte, ou un truc dans le genre... Je sais pas si certains ont déjà rencontré le problème... mais ca me paraît bizarre puisque ma méthode marche tres bien avec la task MkDir (mon répertoire est bien créé !!)
Merci d'avance.
Partager