我有一个依赖于外部 jar 的注释处理器 - lib.jar 我将我的处理器打包为一个 jar 并在编译我的客户端时使用它。在客户端编译开始失败并显示此消息时引入 lib.jar 之前,我一直运行良好。
Exception thrown while constructing Processor object: java.lang.NoClassDefFoundError: com/foo/FooBar
我尝试将 lib.jar 放在客户端的类路径中,但没有帮助。我错过了什么?
我有一个依赖于外部 jar 的注释处理器 - lib.jar 我将我的处理器打包为一个 jar 并在编译我的客户端时使用它。在客户端编译开始失败并显示此消息时引入 lib.jar 之前,我一直运行良好。
Exception thrown while constructing Processor object: java.lang.NoClassDefFoundError: com/foo/FooBar
我尝试将 lib.jar 放在客户端的类路径中,但没有帮助。我错过了什么?
除了处理器 jar 之外,将 lib.jar 添加到注释工厂类路径。在 Eclipse 中,它位于项目属性、Java 编译器、注释处理、工厂路径下。
(有点晚了)
此处解释了搜索路径: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 中使用。