由于某些原因,我尝试单独重建一个脚手架面部插件,但发现了一个非常烦人的bug,我无法解决。
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插件资源加载器尝试加载metawidget - * .xml不是来自新插件,而是来自原始scaffold-api的上下文。
更新#2 :
问题在于metawidget和伪造关系。我发现如果我直接使用SimpleResourceResolver.openResource()
,结果是有效的。但是,如果我添加StaticHtmlWidget.setConfig()
,则结果为Unable to locate com/domain/customfaces/metawidget-entity.xml on CLASSPATH
,即write()
次呼叫。我不知道如何解决这个问题。
答案 0 :(得分:0)
可能你不止一次包括Metawidget JAR? Forge使用JBoss模块,因此必须小心如何构造类路径。
Metawidget错误基本上是说'ForgePropertyStyle'不是'PropertyStyle'类型。但是(除非你在自定义面板中更改了代码)ForgePropertyStyle确实扩展了PropertyStyle。所以你必须在你的类路径上有两个PropertyStyles?