Отладка Groovy скриптов с Grape на основе maven aether

в 13:46, , рубрики: aether maven aether, debug, grape, groovy, java, maven classloader, отладка

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

Отладка Groovy скриптов с Grape на основе maven aether - 1

На новогодних праздниках наконец выдалось время решить проблему с отладкой скриптов, которые запускаются с помощью сборки груви 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 скрипта и после перечислим аргументы скрипта.

Отладка Groovy скриптов с Grape на основе maven aether - 2

Расставим точки останова в скрипте, и java коде, который вызывается из него.

Описанное в заметке решение позволяет проводить отладку скриптов c maven Grape в Idea так же, как и отладку обычного groovy и java приложения.

Автор: igor_suhorukov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js