我已经按照给出的 2 个教程在使用 Ant/Ivy 构建的 Liferay dxp 插件 SDK portlet 中使用 COnfigurationAPI。 配置 API 1 配置 API 2。
下面是使用的配置类:
package com.preferences.interfaces;
import com.liferay.portal.configuration.metatype.annotations.ExtendedObjectClassDefinition;
import aQute.bnd.annotation.metatype.Meta;
@ExtendedObjectClassDefinition(
category = "preferences",
scope = ExtendedObjectClassDefinition.Scope.GROUP
)
@Meta.OCD(
id = "com.preferences.interfaces.UnsupportedBrowserGroupServiceConfiguration",
name = "UnsupportedBrowser.group.service.configuration.name"
)
public interface UnsupportedBrowserGroupServiceConfiguration {
@Meta.AD(deflt = "", required = false)
public String displayStyle();
@Meta.AD(deflt = "0", required = false)
public long displayStyleGroupId(long defaultDisplayStyleGroupId);
}
按照步骤发布,我收到以下错误:
错误 [CM 配置更新程序(ManagedService 更新:pid=[com.preferences.interfaces.UnsupportedBrowserGroupServiceConfiguration])][org_apache_felix_configadmin:97] [org.osgi.service.cm.ManagedService,id=7082,bundle=297//com.liferay .portal.configuration.settings-2.0.15.jar?lpkgPath=C:\dev\Liferay\osgi\marketplace\Liferay Foundation.lpkg]:更新配置 com.preferences.interfaces.UnsupportedBrowserGroupServiceConfiguration {org.osgi.service. cm.ConfigurationAdmin}={service.vendor=Apache Software Foundation, service.pid=org.apache.felix.cm.ConfigurationAdmin, service.description=Configuration Admin Service Specification 1.2 Implementation, service.id=56, service.bundleid=643 ,服务范围=捆绑}
原因:java.lang.IllegalArgumentException:参数数量错误
那么,这个过程是否需要强制使用 osgi 模块,或者我们也可以使用使用 ant 构建的 plusings sdk portlet 来完成它?