我已经创建了Liferay插件项目。和maven安装也结束了。 它给出了
number_field
但无法添加服务构建器。
当我尝试添加服务构建器时 new-> Liferay服务构建者。
它没有显示任何插件项目 那么如何添加服务构建器?
答案 0 :(得分:0)
坦率地说Liferay-Maven组合并没有得到Liferay IDE在eclipse中的完全支持。最初Liferay IDE仅为ANT支持而创建,但由于maven支持已经引入,因此缺少许多东西。
您提出的这个问题对于以下选项也是一样的。
这不是以下选项的问题
因此,最好的方法是通过支持特定liferay版本的maven原型生成新的服务构建器。 例如,liferay.maven.archetypes:liferay-servicebuilder-archetype:6.2.1 for liferay 6.2.1 GA2版本。
答案 1 :(得分:0)
如果要将vaadin应用程序添加到现有的liferay portlet,然后创建新的LIFERAY-VAADIN项目,您可以使用“您可以像往常一样继续使用ServiceBuilder,并使用XXXXXServiceUtil(或XXXXXLocalServiceUtil)从您的服务中检索数据)“。您可能还想查看here和here。
例如,这里是来自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;
}
}