2013-11-08 4 views
1

Я пытаюсь добавить пользовательский плагин Gradle, который я создал (я построил банку с Gradle под названием gradle-todo.jar) в отдельном проекте. Тем не менее, когда я запускаю сборку внешнего проекта, я получаю сообщение об ошибке, как следующее:Добавление настраиваемого плагина Gradle в проект

Не удалось найти класс реализации «xyzToDo» для плагина «ToDo» указано в банке: файл .... .../Gradle-TODO/строить/ЛИЭС/Gradle-todo.jar! /META-INF/gradle-plugins/ToDo.properties.

ToDo.properties указывает, что класс реализации - x.y.z.ToDo. Класс находится в JAR в ожидаемом месте (например, x.y.z в приведенном выше примере). Мой сценарий сборки выглядит так:

buildscript { 
    dependencies { 
     classpath files('../gradle-todo/build/libs/gradle-todo.jar') 
    } 
} 

apply plugin: 'java' 
apply plugin: 'ToDo' 

Любая идея относительно того, что происходит? Большинство сообщений, которые я читал о включении плагинов, ориентированы на то, чтобы вытащить их из какого-то не-плоского репозитория, но я хотел бы просто включить JAR из файловой системы в целях тестирования.

+0

Эта ошибка заставляет задуматься, как найти флягу и посмотреть класс реализации отлично. Если вы считаете, что класс реализации находится в том же банке, я бы дважды проверял. Мне все кажется прекрасным. Какова полная ошибка стека ошибки и содержимого банки? –

+0

Скорее всего, класс плагина, указанный в 'ToDo.properties', не существует в Jar. Возможно, вы неправильно назвали имя класса (например, не полностью определили его). –

+0

Оказывается, на самом деле я отсутствовал в полном имени класса (прямо в середине строки). – upcrob

ответ

1

Оказывается, мне не хватало квалификатора в полном названии класса. Похоже, что он загружает Jar правильно.

-1

Эта ошибка также возникает, когда декларация пакета отсутствует в файле класса.

Если в верхней части вашего файла класса отсутствует package com.mydomain, вы получите эту ошибку.

Смежные вопросы