В IntelliJ Idea возникают cложности с отладкой таких скриптов, так как для отладки groovy IDE использует сборку груви по-умолчанию, с Ivy провайдером для Grape.





На новогодних праздниках наконец выдалось время решить проблему с отладкой скриптов, которые запускаются с помощью сборки груви groovy-grape-aether.

Чем лучше maven aether по сравнению с Ivy
Ответ на вопрос зачем нужен Grape на основе maven aether и чем он лучше Ivy провайдера описывал в статье «Уличная магия в скриптах или что связывает Groovy, Ivy и Maven?».


Создадим 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 приложения.

Комментарии (1)


  1. artyfarty
    12.01.2016 03:07

    Ну и шрифты…