0

由于某些原因,我尝试单独重建脚手架面插件,但发现了一个非常烦人的错误,我无法解决。

java.lang.NoSuchMethodException: class org.metawidget.inspector.impl.BaseObjectInspectorConfig.setPropertyStyle(ForgePropertyStyle). Did you mean setPropertyStyle(PropertyStyle)?
    at org.metawidget.config.impl.BaseConfigReader$ConfigHandler.classGetMethod(BaseConfigReader.java:1633)

尝试了一些技巧后,查看了 metawidget 配置代码,没有找到解决问题的方法。

scaffold setup --scaffoldType customfaces

工作正常,但

scaffold from-entity com.domain.entity.* --scaffoldType customfaces 

失败。

有人有同样的问题吗?我可以搞砸什么吗?


更新#1

只有在 Forge 控制台中运行时,资源加载才会失败。JUnit 测试工作正常。我假设,metawidget 插件资源加载器尝试不是从新插件而是从原始脚手架 api 的上下文加载 metawidget-*.xml。

更新#2

问题在于元小部件和伪造关系的深处。我发现如果我直接使用SimpleResourceResolver.openResource(),结果是有效的。但如果我添加StaticHtmlWidget.setConfig(),结果是Unable to locate com/domain/customfaces/metawidget-entity.xml on CLASSPATH第一次write()调用。我不知道如何解决这种行为。

4

1 回答 1

0

可能您不止一次包含 Metawidget JAR?Forge 使用 JBoss 模块,因此您必须小心构建类路径的方式。

Metawidget 错误基本上是说“ForgePropertyStyle”不是“PropertyStyle”类型。但是(除非您在 customfaces 中更改了该代码)ForgePropertyStyle 确实扩展了 PropertyStyle。所以你的类路径上必须有两个 PropertyStyles 吗?

于 2012-09-28T10:49:42.950 回答