我正在为AEM 6开发,我看到其中一个类的NoClassDefFoundError。这是我的maven项目的设置:
+- pom.xml
|
+- parent
| |
| '- pom.xml
|
+- content
| |
| '- pom.xml
|
'- bundles
|
+- pom.xml
|
+- taglib
| |
| '- pom.xml
|
'- components
|
'- pom.xml
以下是有关正在发生的事情的更多细节:
/system/console/bundles
如果我将行Component component = new Component()
添加到我在jsp中使用的标记中,则代码运行正常。使用包含代码的标记加载我的页面可以很好地加载。
但是,如果我尝试实例化ComponentFactory factory = new ComponentFactory()
之类的ComponentFactory,代码将完全构建,然后在运行时失败。使用标记加载我的网页会生成一个白页,错误日志会显示NoClassDefFoundError
。
我查看了错误,它似乎是一个类在编译时可用但在运行时没有在类路径中有问题的问题。我的困惑是两个类都在目标/类中,而.classpath文件似乎并不表示为什么会排除这些类。
非常感谢任何见解。