В IntelliJ Idea возникают cложности с отладкой таких скриптов, так как для отладки groovy IDE использует сборку груви по-умолчанию, с Ivy провайдером для Grape.
На новогодних праздниках наконец выдалось время решить проблему с отладкой скриптов, которые запускаются с помощью сборки груви groovy-grape-aether.
Создадим Gradle проект с зависимостью 'com.github.igor-suhorukov:groovy-grape-aether:2.4.5.1' или pom.xml для maven:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.igor-suhorukov</groupId>
<artifactId>debug-example</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.github.igor-suhorukov</groupId>
<artifactId>groovy-grape-aether</artifactId>
<version>2.4.5.1</version>
</dependency>
</dependencies>
</project>
Импортируем проект в Idea. В качестве примера скрипта для отладки можно взять crawler.groovy из публикации «Что нам стоит сайт распарсить. Основы webdriver API».
Создадим конфигурацию для отладки в IDE: main class com.github.igorsuhorukov.GroovyMain, а в качестве параметров укажем имя groovy скрипта и после перечислим аргументы скрипта.
Расставим точки останова в скрипте, и java коде, который вызывается из него.
Описанное в заметке решение позволяет проводить отладку скриптов c maven Grape в Idea так же, как и отладку обычного groovy и java приложения.
Автор: igor_suhorukov