0

我已经创建了 Liferay 插件项目。并且maven安装也结束了。它给

 ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ---------------------------------------------------------------------
[INFO] Total time: 1:29.773s
[INFO] Finished at: Wed Jun 17 15:46:10 IST 2015
[INFO] Final Memory: 34M/151M
[INFO] -----------------------------.

但无法添加服务生成器。

当我尝试添加新的服务构建器-
> Liferay 服务构建器时。

它没有显示任何插件项目。
那么如何添加服务生成器呢?

4

2 回答 2

0

坦率地说,Liferay-Maven 组合在 Eclipse 中并没有得到 Liferay IDE 的完全支持。最初 Liferay IDE 是为仅支持 ANT 而创建的,但由于引入了 maven 支持,因此缺少很多东西。

您提出的这个问题对于以下选项也是相同的。

  1. JSF Portlet
  2. 布局
  3. 主题
  4. 服务生成器

这不是以下选项的问题

  1. 小门户
  2. Vaadin Portlet

因此,最好的方法是通过特定 liferay 版本支持的 maven 原型生成新的服务构建器。例如 com.liferay.maven.archetypes:liferay-servicebuilder-archetype:6.2.1 用于 liferay 6.2.1 GA2 版本。

于 2015-06-17T14:22:41.013 回答
0

如果您想将 vaadin 应用程序添加到现有的 liferay portlet,然后创建新的 LIFERAY-VAADIN 项目,您可以在那里使用“您可以像往常一样继续使用 ServiceBuilder,并使用 XXXXXServiceUtil(或 XXXXXLocalServiceUtil)从您的服务中检索数据。” 您可能还想查看这里这里

例如,这里有一个来自 vaadin的DatabaseUtil类。

import java.awt.List;
import java.util.ArrayList;

import com.vaadin.data.util.HierarchicalContainer;

public class DatabaseUtil {
  public static HierarchicalContainer fillTree_db() {
    HierarchicalContainer container = new HierarchicalContainer();
    ArrayList < ArrayList < String >> treeNodes = new ArrayList < ArrayList < String >> ();

    try {

      List < TREEVIEW > nodes = TREEVIEWLocalServiceUtil.getAllNodes();

      for (TREEVIEW node: nodes) {
        String nodename = node.getNodename();
        ArrayList < String > row = new ArrayList < String > ();
        row.add(String.valueOf(node.getNodeid()));
        row.add(node.getNodename());
        row.add(String.valueOf(node.getRootid()));
        container.addItem(nodename);
        treeNodes.add(row);
      }

      for (int i = 0; i < treeNodes.size(); i++) {
        int root = 0;
        root = Integer.parseInt(treeNodes.get(i).get(2));

        if (root != 0)
          container.setParent(treeNodes.get(i).get(1),
            treeNodes.get(root - 1).get(1));
      }

    } catch (Exception e) {
      System.err.println("Exception: " + e.getMessage());
    } finally {}
    return container;
  }

}
于 2015-06-17T18:08:11.297 回答