带有liferay portlet的GWT Composite

时间:2013-02-14 06:32:24

标签: gwt liferay

我只想通过gwt项目创建gwt复合材料。 然后将这个复合物制成罐子。 然后想要添加我的liferay项目的lib文件夹,我的每个protlet都可以使用这个gwt复合材料。

我该怎么办?


到目前为止我做了什么:

  • 创建gwt复合,删除入口点并重写.gwt.xml并创建我的类extends composite。
  • 然后创建jar。
  • 然后复制jar liferay lib文件夹
  • 然后用jar附加源代码(java构建路径>库>选择jar并附加源平均gwt复合项目)[我正在使用eclipse]。
  • 然后在portlet .gwt.xml文件中继承,如:
  • 然后创建复合类的实例并获得此错误

[javac] Compiling 1 source file to /home/bglobal/liferay-sdk/portlets/data-grid-portlet/docroot/WEB-INF/classes
[javac] /home/bglobal/liferay-sdk/portlets/data-grid-portlet/docroot/WEB-INF/src/com/prolexic/portlet/datagrid/client/DataGridServiceEntryPoint.java:9: package com.prolexic.commonCompositeWidget.client does not exist
[javac] import com.prolexic.commonCompositeWidget.client.CommonCompositeWidget;
[javac] ^
[javac] /home/bglobal/liferay-sdk/portlets/data-grid-portlet/docroot/WEB-INF/src/com/prolexic/portlet/datagrid/client/DataGridServiceEntryPoint.java:17: cannot find symbol
[javac] symbol : class CommonCompositeWidget
[javac] location: class com.prolexic.portlet.datagrid.client.DataGridServiceEntryPoint
[javac] CommonCompositeWidget mycomposite = new CommonCompositeWidget("This is the GWT Composite portlet.");
[javac] ^
[javac] /home/bglobal/liferay-sdk/portlets/data-grid-portlet/docroot/WEB-INF/src/com/prolexic/portlet/datagrid/client/DataGridServiceEntryPoint.java:17: cannot find symbol
[javac] symbol : class CommonCompositeWidget
[javac] location: class com.prolexic.portlet.datagrid.client.DataGridServiceEntryPoint
[javac] CommonCompositeWidget mycomposite = new CommonCompositeWidget("This is the GWT Composite portlet.");
[javac] ^
[javac] 3 errors

1 个答案:

答案 0 :(得分:0)

Gwt还需要在其他项目中使用的源代码。所以在buildng gwt composite之后也在jar中包含源文件。然后将其复制到lib文件夹中。然后按照

  • 右键单击项目
  • 点击构建路径
  • 单击“配置构建路径”
  • 在库中添加jar
  • 然后按顺序选择jar并导出
  • 在.gwt.xml文件中添加继承

上面的jar有一个.gwt.xml文件,因为它是gwt项目,否则创建一个.gwt.xml文件并在其中包含源路径。

(两个项目都是GWT,然后你可以直接在build bath中添加项目并继承在liferay项目的.gwt.xml中)

如果您不想在GWT项目中使用它,那么配置为maven然后构建项目然后您将获得jar并在其他项目中重用它