Configuration 属性是必需的,但未设置(无法为接口创建快照类)
我的Liferay 7服务器一直在愉快地使用Configuration 属性是必需的,但未设置(无法为接口创建快照类),configuration,liferay,liferay-7,Configuration,Liferay,Liferay 7,我的Liferay 7服务器一直在愉快地使用SomeModule,直到我部署了一个新版本的SomeModule,它有一个额外的必填字段favoriteColor 现在,每当我尝试加载portlet时,Liferay都会说: java.lang.RuntimeException: Unable to create snapshot class for interface some.SomeModuleConfiguration at com.liferay.portal.confi
SomeModule
,直到我部署了一个新版本的SomeModule
,它有一个额外的必填字段favoriteColor
现在,每当我尝试加载portlet时,Liferay都会说:
java.lang.RuntimeException: Unable to create snapshot class for interface some.SomeModuleConfiguration
at com.liferay.portal.configuration.metatype.bnd.util.ConfigurableUtil._createConfigurableSnapshot(ConfigurableUtil.java:77)
at com.liferay.portal.configuration.metatype.bnd.util.ConfigurableUtil.createConfigurable(ConfigurableUtil.java:51)
at some.SomeModule.activate(SomeModule.java:50)
...
aused by: java.lang.IllegalStateException: Attribute is required but not set favoriteColor
at aQute.bnd.annotation.metatype.Configurable$ConfigurableHandler.invoke(Configurable.java:75)
at com.sun.proxy.$Proxy1220.favoriteColor(Unknown Source)
at some.SomeModuleConfigurationSnapshot407.<init>(Unknown Source)
java.lang.RuntimeException:无法为接口some.SomeModuleConfiguration创建快照类
位于com.liferay.portal.configuration.metatype.bnd.util.ConfigurableUtil.\u createConfigurableSnapshot(ConfigurableUtil.java:77)
在com.liferay.portal.configuration.metatype.bnd.util.ConfigurableUtil.createConfigurable上(ConfigurableUtil.java:51)
激活(SomeModule.java:50)
...
aused by:java.lang.IllegalStateException:属性是必需的,但未设置favoriteColor
位于aquete.bnd.annotation.metatype.Configurable$ConfigurableHandler.invoke(Configurable.java:75)
位于com.sun.proxy.$Proxy1220.favoriteColor(未知来源)
在some.SomeModuleConfiguration Snapshot407(未知源)
SomeModule
的配置UI未显示任何有关favoriteColor
的信息
如何解决此问题,例如,通过将
favoriteColor
设置为其默认值?如果您有幸拥有模块的源代码,您可以这样解决此问题:
SomeModuleConfiguration.java
中的required=true
替换为required=false
required=true
欢迎选择答案 另一种方法是使用OSGi配置文件来设置默认值和缺少的值。您可以像使用liferay附带的模块一样使用这些文件;e、 例如,elasticsearch配置。(查看osgi/configs目录)我讨厌liferay的原因