0

いくつかの理由でscaffoldfacesプラグインを個別に再構築しようとしましたが、解決できない非常に厄介なバグを見つけました。

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プラグインのリソースローダーは、新しいプラグインからではなく、元のscaffold-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を拡張します。では、どういうわけか、クラスパスに2つのPropertyStylesが必要ですか?

于 2012-09-28T10:49:42.950 に答える