2012-01-25 5 views
2

У меня есть процессор аннотаций, который зависит от внешнего jar - lib.jar Я упаковываю свой процессор в качестве банки и использую его при компиляции моего клиента. У меня было все нормально, пока я не ввел lib.jar, когда компиляция клиента начала сбой с этого сообщения.Невозможно разрешить jar-зависимости для обработчика аннотации

Exception thrown while constructing Processor object: java.lang.NoClassDefFoundError: com/foo/FooBar 

Я попытался разместить lib.jar в classpath для моего клиента, но это не помогло. Что мне не хватает?

ответ

3

Добавьте lib.jar в свой путь к классу классов комментариев в дополнение к вашему банку процессора. В Eclipse он находится под свойствами проекта, компилятором Java, обработкой аннотации, заводским путем.

0

(немного поздно)

Путь поиска объясняется здесь: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/javac.html#processing

и, кажется, что зависимости нужно только быть в пути к классам.

с мавена:

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.1</version> 
    <configuration> 
    <annotationProcessors> 
     <annotationProcessor> 
     *your annotation class qualified name* 
     </annotationProcessor> 
    </annotationProcessors> 
    </configuration> 
</plugin> 

плюс зависимость от аннотаций процессора артефакта.

У меня была эта проблема в Eclipse IDE, чтобы использовать обработчик аннотации, имеющий внешние зависимости.

Чтобы решить проблему, вы можете создать библиотеку jar-with-dependencies, которая будет использоваться в Eclipse IDE.

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