Merci pour la clarté de tes explications Kasko, c'est tout à fait ça.
J'ai réussi à lancer le batch sous eclipse et sous batch donc mon problème de départ est résolu.
Mais il a fallu pour ça que je bidouille.
J'ai deux config différentes.
1. Pour lancer le batch sous eclipse j'ai créé une fonction main() (elle n'existait pas dans mes sources et le jar exécutable avait pour classe principale org.springframework.batch.core.launch.support.CommandLineJobRunner) dans laquelle j'appelle les fonctions de Spring Batch qui me permettent de lancer le batch, je mets les bons arguments dans "Run configurations" et "classpath" et tout marche nickel : mais je n'arrive pas à lancer ma classe principale dans la ligne de commande. J'ai essayé plusieurs choses sans succès.
2. Pour lancer le batch en ligne de commande je ne change rien la classe principale est org.springframework.batch.core.launch.support.CommandLineJobRunner. Le seul souci c'est que dans le batch je voudrais pouvoir appeler ma classe principale nouvellement définie et j'y arrive pas
Je patauge encore.
En fait mon souci c'est que je n'arrive pas à traduire la ligne de commande en "Run configurations ..." eclipse. Inversement je n'arrive pas à traduire ma ligne de commande en config eclipse.
D'où ma question : dans la ligne de commande :
java -Dlog4j.configuration=%CONF_LOG% -Dext.properties.dir=%PROPERTIES_DIR% -classpath %CLASSPATH% %COMMAND_RUNNER% %CONTEXT_FILE% %JOB%
les deux premiers sont des paramètres ok. Ensuite %CLASSPATH% définit le classpath ok mais quid de %COMMAND_RUNNER% ? Dans ma logique il définissait la classe principale (en l'occurence la classe springbatch) n'est-ce pas ? Donc si je le remplace par la classe principale de mon projet ça doit marcher ? le souci c'est que ça ne marche pas !
Partager