Cela a du sens si vous exécutez le code Groovy comme un script. Sinon, l'idée devient un peu confuse, IMO. La solution de contournement se trouve ici : https://issues.apache.org/jira/browse/GROOVY-1642
Il s'agit essentiellement de modifier startGroovy.sh pour qu'il transmette l'emplacement du script en tant que variable d'environnement.
Tant que cette information n'est pas fournie directement par Groovy, il est possible de modifier le script groovy.(sh|bat) starter script pour rendre cette propriété disponible en tant que propriété système : Pour les systèmes unix, il suffit de modifier $GROOVY_HOME/bin/groovy (le script de sh) pour qu'il fasse
export JAVA_OPTS="$JAVA_OPTS -Dscript.name=$0"
avant d'appeler startGroovy Pour Windows : Dans startGroovy.bat ajoutez les 2 lignes suivantes juste après la ligne avec l'étiquette :init (juste avant le début de l'utilisation des paramètres) :
@rem get name of script to launch with full path
set GROOVY_SCRIPT_NAME=%~f1
Un peu plus bas dans le fichier batch, après la ligne qui dit "set JAVA_OPTS=%JAVA_OPTS% -Dgroovy.starter.conf="%STARTER_CONF%", ajoutez la ligne suivante ligne
set JAVA_OPTS=%JAVA_OPTS% -Dscript.name="%GROOVY_SCRIPT_NAME%"