2012-01-25 64 views
2

我有一个注释处理器依赖于外部jar - lib.jar 我将我的处理器打包为一个jar并在编译我的客户端时使用它。 我让它工作正常,直到我引入lib.jar时,客户端编译开始失败并显示此消息。无法解决注释处理器的jar依赖关系

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

我尝试将lib.jar放在我的客户端的类路径中,但它没有帮助。我错过了什么?

回答

3

除了处理器jar之外,还将lib.jar添加到注释工厂类路径。在Eclipse中,它位于项目属性,Java编译器,注释处理,工厂路径下。

0

(有点晚)

搜索路径这里解释: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/javac.html#processing

,似乎依赖只需要在classpath中。

与行家:

<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。

相关问题