0

liferay-plugin-package.properties ファイルに required-deployment-contexts エントリを指定すると、service-jar の自動コピー プロセスがポートレット WEB-INF/lib に実行されることを読みました。

これを機能させることができません:

ポートレット A とポートレット B があります。

サービス JAR をサーバーの ext/lib ディレクトリにコピーせずに、ポートレット B がポートレット A のサービスを利用できるようにしたいと考えています。次のように required-deployment-contexts を指定すると役立つことを読みました。

required-deployment-contexts=A-portlet

少なくとも私にとってはうまくいきません。サービス - JAR ファイルがコピーされないため、B ポートレットは A ポートレットを使用できません。

私は Liferay 6.2 CE GA4 を使用しています。

4

1 に答える 1

2

jar サービスが「A-portlet-service.jar」と呼ばれているかどうかを確認できますか。

実際、Liferay は、名前が「required-deployment-contexts-value」-service.jar の場合にのみ 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;
}
于 2015-10-23T13:24:35.337 に答える