Создание собственного плагина scaffold: исключение загрузки ресурса мета-виджета только при запуске в консоли forge

По некоторым причинам я пытаюсь перестроить плагин scaffoldface по отдельности, но обнаружил действительно раздражающую ошибку, которую не могу устранить.

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)

Попробовав некоторые хитрости, просмотрите конфигурационные коды мета-виджетов, не найдя, как решить проблему.

scaffold setup --scaffoldType customfaces

работает нормально, но

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

выходит из строя.

У кого-нибудь есть такая же проблема? Могу я что-нибудь испортить?


Обновление № 1:

Загрузка ресурса не удалась только при запуске в консоли forge. Тест JUnit работает отлично. Я предполагаю, что загрузчик ресурсов плагина metawidget пытается загрузить metawidget-*. Xml не из нового плагина, а из контекста исходного scaffold-api.

Обновление № 2:

Проблема в глубине мета-виджета и кузнечного отношения. Я обнаружил, что если я использую непосредственно SimpleResourceResolver.openResource(), результат действителен. Но если я добавлю StaticHtmlWidget.setConfig()результат Unable to locate com/domain/customfaces/metawidget-entity.xml on CLASSPATH у первых write() вызов. Я понятия не имею, как решить это поведение.

1 ответ

Возможно, вы включаете JAR-файлы Metawidget более одного раза? Forge использует JBoss Modules, поэтому вы должны быть осторожны, как устроен ваш classpath.

Ошибка Metawidget в основном говорит о том, что ForgePropertyStyle не относится к типу PropertyStyle. Но (если вы не изменили этот код в своих пользовательских интерфейсах) ForgePropertyStyle действительно расширяет PropertyStyle. То есть у вас должно быть два PropertyStyles на вашем пути к классам?

Другие вопросы по тегам