我已经读过在我的文件中指定一个required-deployment-contexts条目 liferay-plugin-package.properties文件会在我的portlet WEB-INF / lib中执行自动服务jar复制过程。
我无法解决这个问题:
我有Portlet A和Portlet B.
我希望Portlet B使用Portlet A的服务,而不必将服务JAR复制到我的服务器ext / lib目录。我读到指定这样的required-deployment-contexts会有所帮助我:
ReturnValues("Employeenumber")
至少对我来说它不起作用。服务 - JAR文件未被复制,因此我的B-Portlet无法使用我的A-Portlet。
我正在使用Liferay 6.2 CE GA4 有人提出任何建议吗?
答案 0 :(得分:2)
您可以检查您的jar服务是否被称为“A-portlet-service.jar”。
确实Liferay复制jar只有名称是“required-deployment-contexts-value”-service.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;
}