所需的部署上下文不适用于Liferay 6.2?

所需的部署上下文不适用于Liferay 6.2?,liferay,liferay-6,liferay-6.2,liferay-service-builder,Liferay,Liferay 6,Liferay 6.2,Liferay Service Builder,我已经读到在我的 liferay-plugin-package.properties文件将自动将服务jar复制到我的portlet WEB-INF/lib中 我无法让它工作: 我有Portlet A和Portlet B 我希望Portlet B使用Portlet A的服务,而不必将服务JAR复制到我的servers ext/lib目录。我了解到,像这样指定所需的部署上下文将有助于我: required-deployment-contexts=A-portlet 嗯,至少对我来说,它不起作用。服

我已经读到在我的 liferay-plugin-package.properties文件将自动将服务jar复制到我的portlet WEB-INF/lib中

我无法让它工作:

我有Portlet A和Portlet B

我希望Portlet B使用Portlet A的服务,而不必将服务JAR复制到我的servers ext/lib目录。我了解到,像这样指定所需的部署上下文将有助于我:

required-deployment-contexts=A-portlet
嗯,至少对我来说,它不起作用。服务JAR文件没有被复制,因此我的B-Portlet不能使用我的A-Portlet

我正在使用Liferay 6.2 CE GA4
任何人有什么建议吗?

您能检查一下您的jar服务是否被称为“A-portlet-service.jar”

实际上,仅当名称为“required deployment contexts value”—service.jar时,Liferay才会复制jar

您可以检查PluginsEnvironmentBuilder类中的代码:

protected List<String> getRequiredDeploymentContextsJars(
        File libDir, Properties properties)
    throws Exception {

    List<String> jars = new ArrayList<String>();

    String[] requiredDeploymentContexts = StringUtil.split(
        properties.getProperty("required-deployment-contexts"));

    for (String requiredDeploymentContext : requiredDeploymentContexts) {
        if (_fileUtil.exists(
                libDir.getCanonicalPath() + "/" +
                    requiredDeploymentContext + "-service.jar")) {

            jars.add(requiredDeploymentContext + "-service.jar");
        }
    }

    return jars;
}
受保护列表GetRequiredDeploymentContextjars(
文件libDir,属性)
抛出异常{
List jars=new ArrayList();
String[]requiredDeploymentContexts=StringUtil.split(
getProperty(“必需的部署上下文”);
for(字符串requiredDeploymentContext:requiredDeploymentContext){
如果(_fileUtil.exists(
libDir.getCanonicalPath()+“/”+
requiredDeploymentContext+“-service.jar”)){
add(requiredDeploymentContext+“-service.jar”);
}
}
返回罐;
}

部署顺序也很重要。您需要首先部署A-portlet,然后是使用A-portlet jar的第二个portlet。您好,谢谢您的评论。我已经阅读了所有这些博客文章,但它们没有帮助。所需的部署上下文起作用,因为Portlet B等待Portlet A部署。但是service.jar没有被复制…portlet是service.jar吗?