Как создать сервис-конструктор для проекта плагина LifeRay с Maven

У меня уже есть проект Liferay Plugin. и 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] -----------------------------.

Но не удалось добавить сервис-строитель.

Когда я пытаюсь добавить сервис-строитель
new->Liferay сервисный строитель.

Это не показывает какой-либо плагин проекта.
Тогда как добавить сервис-компоновщик?

2 ответа

Решение

Откровенно говоря, комбинация Liferay-Maven не полностью поддерживается Liferay IDE в затмении. Изначально Liferay IDE создавалась только для поддержки ANT, но с тех пор, как была введена поддержка maven, многие вещи отсутствуют.

Эта проблема, которую вы подняли, одинакова и для следующих вариантов.

  1. Портлет JSF
  2. раскладка
  3. тема
  4. Сервисный строитель

Это не проблема для следующих опций

  1. крюк
  2. портлетов
  3. Ваадин Портлет

Таким образом, лучший способ - создать новый построитель сервисов с помощью архетипов maven, поддерживаемых для конкретной версии liferay. Например, com.liferay.maven.archetypes:liferay-servicebuilder-archetype:6.2.1 для liferay 6.2.1 версия GA2.

Если вы хотите добавить приложение vaadin в существующий портлет liferay, то создайте новый проект LIFERAY-VAADIN и там вы можете использовать "Вы можете продолжать использовать ServiceBuilder, как всегда, и извлекать данные из своих служб, используя XXXXXServiceUtil (или XXXXXLocalServiceUtil)". Вы также можете проверить здесь и здесь.

Например, вот один класс DatabaseUtil от vaadin.

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;
  }

}
Другие вопросы по тегам