Groovy с Виноградом и проблемой AntBuilder classloader

Можно открыть XML-файл в любом продукте Visual Studio Express и нажатии Ctrl + , Ctrl + K , Ctrl + F для получения его приятно.

Эй, это свободно, и это - инструмент, таким образом, это соответствует вопросу.:-)

7
задан Leonard Brünings 29 October 2009 в 01:15
поделиться

1 ответ

Вы правы, подозревая, что загрузчик классов является корнем проблемы. Как уже показано в вашем коде, AntBuilder загружается из RootLoader, у которого нет доступа к классам, загружаемым аннотацией @Grab. Как показывает GROOVY-3730 , Groovy 1.7 решит эту проблему.

Однако вы можете решить вашу проблему, напрямую используя groovy.grape.Grape.grab (зависимость от карты) , в котором вы можете установить конкретный загрузчик классов, который должен использоваться для загрузки зависимостей:

import groovy.grape.Grape;

Grape.grab(group:'ant', module:'ant', version:'1.6.5', classLoader:this.class.classLoader.rootLoader)
Grape.grab(group:'ant', module:'ant-nodeps', version:'1.6.5', classLoader:this.class.classLoader.rootLoader)
Grape.grab(group:'ant', module:'ant-apache-oro', version:'1.6.5', classLoader:this.class.classLoader.rootLoader)
Grape.grab(group:'ant', module:'ant-commons-net', version:'1.6.5', classLoader:this.class.classLoader.rootLoader)
Grape.grab(group:'commons-net', module:'commons-net', version:'1.4.1', classLoader:this.class.classLoader.rootLoader)
Grape.grab(group:'oro', module:'oro', version:'2.0.8', classLoader:this.class.classLoader.rootLoader)
7
ответ дан 7 December 2019 в 07:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: