Liferay IDE安装
简介
Liferay IDE是一个Eclipse插件,用来方便进行Liferay开发,主要是方便开发portlet、插件开发、布局模板、主题包的制作等。现在的版本为1.01,支持Eclipse 3.5和3.6。仅用于Liferay 6+版本,不支持早期版本。
比如之前开发Portelt,如果手动的编写配置信息到portlet.xml,liferay-portlet.xml,liferay-display.xml,language.properties等信息,现在可以通过Liferay IDE的portlet向导进行,就像Eclipse中servlet的开发一样,可以大大提高生产力。
安装
Liferay IDE是一个Eclipse插件,安装方法和普通的插件一样,仅支持Eclipse 3.5和3.6其他版本不能保证能正常运行。
在线更新地址:
Eclipse Galileo SR2 (3.5.2) http://releases.liferay.com/tools/ide/eclipse/galileo/stable/
Eclipse Helios (3.6.0) http://releases.liferay.com/tools/ide/eclipse/helios/stable/
离线包下载
Liferay IDE配置
SDK的安装
Liferay提供的有一个SDK,就是在上一篇文章中下载得到的SDK。打开Eclipse-windows-prefernces,在左边找到Liferay--Installed SDKs,点击右边的add-->browse;在add的下方有一个download,如果这里没有下载SDKs,可以在这里在线安装,不过不推荐,这里的下载速度超慢。安装后如下图:
配置服务器环境
在打开的Eclipse属性里面,找到左边的server--Runtime Environment,点击添加,找到liferay,Inc,如下图:
点击,Next-->Browse(这里下面的Download and Install是在线安装,太慢不建议),找到我们下载的Tomcat绑定包,即liferay-portal-tomcat-6.0.4.zip这个文件的解压目录。点击确定。
测试IDE
打开Eclipse的服务器管理界面,如果找不到windows ---show views--servers,右键New-->server,Liferay,Inc,在这里找到Liferay V6.0 server,点击OK。现在在server的界面里面应该已经有了Liferay server,在上面点击右键,start。等待tomcat启动完成。
待启动完成后,在server上面点击右键 Liferay -->Open Portal home,就能在Eclipse的浏览器里面打开Liferay Portal。这个Portalt的配置请看: LifeRay Portal 6学习笔记2:Liferay Portal6安装及简单设置
创建一个插件开发工程
Liferay的开发模式基本上有两种,一种是插件式的开发,一种是扩展环境的开发,现在我们使用Liferay IDE创建一个插件式的开发环境
Eclipse ->new->other->Liferay->Liferay Plug-in Project。如下图,填写相应的Project Name,点击确定。
这个时候我们就创建了一个插件开发的工程,名字叫liferayStudy。
编写自己的Portlet
运行工程
在分析Portlet之前,首先让我们上面创建的工程在Liferay里面跑起来,在server视图里面,new-server选择Liferay server,next,如下:将有效的工程添加到Liferay server里面,然后点击完成。
分析Portlet
在创建自己的Portlet之前,我们首先来分析一下liferay里面的portlet都有哪些东西。在完成上一步操作之后,启动Liferay server,输入帐号密码,点击“添加”-“更多”(不清楚之处,请参数上一篇文章)-“示例”,呵呵,现在看到了什么?我们刚才创建的工程liferayStudy,如下图。
点击添加,就可以看到将这个portlet添加到了Liferay中。
我们只是添加了一个插件工程,这个portlet从哪里来的呢?其实这个是创建工程是创建的一个默认portlet,在创建自己的portlet之前,首先来分析一下这个portlet是怎么添加到Liferay里面,并让我们简单通过添加来添加的呢?
涉及的文件如下:
portlet.xml
liferay-portlet.xml
liferay-display.xml
首先看portlet.xml里面的内容
- <portlet>
- <portlet-name>liferayStudy</portlet-name>
- <display-name>LiferayStudy</display-name>
- <portlet-class>com.liferay.util.bridges.mvc.MVCPortlet</portlet-class>
- <init-param>
- <name>view-jsp</name>
- <value>/view.jsp</value>
- </init-param>
- <expiration-cache>0</expiration-cache>
- <supports>
- <mime-type>text/html</mime-type>
- </supports>
- <portlet-info>
- <title>LiferayStudy</title>
- <short-title>LiferayStudy</short-title>
- <keywords>LiferayStudy</keywords>
- </portlet-info>
- <security-role-ref>
- <role-name>administrator</role-name>
- </security-role-ref>
- <security-role-ref>
- <role-name>guest</role-name>
- </security-role-ref>
- <security-role-ref>
- <role-name>power-user</role-name>
- </security-role-ref>
- <security-role-ref>
- <role-name>user</role-name>
- </security-role-ref>
- </portlet>
这里面的内容很多看名字都可以理解, 关键点在portlet-name,和init-param下面的其他权限什么的一看就明白不再细说。
portlet-name是和其他相关文件关联的“ID”,init-parma显示的是关联的JSP文件。
这个portlet.xml的定义是portlet 2.0规范定义的。
下面看lifery-portlet.xml
- <liferay-portlet-app>
- <portlet>
- <portlet-name>liferayStudy</portlet-name>
- <icon>/icon.png</icon>
- <instanceable>true</instanceable>
- <header-portlet-css>/css/main.css</header-portlet-css>
- <footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
- <css-class-wrapper>liferayStudy-portlet</css-class-wrapper>
- </portlet>
- <role-mapper>
- <role-name>administrator</role-name>
- <role-link>Administrator</role-link>
- </role-mapper>
- <role-mapper>
- <role-name>guest</role-name>
- <role-link>Guest</role-link>
- </role-mapper>
- <role-mapper>
- <role-name>power-user</role-name>
- <role-link>Power User</role-link>
- </role-mapper>
- <role-mapper>
- <role-name>user</role-name>
- <role-link>User</role-link>
- </role-mapper>
- </liferay-portlet-app>
这个里面的大部分信息也是看名字就能知道是什么意思,这个文件算是将前面定义的portlet在liferay里面注册,关联信息是使用的portlet-name
下面看liferay-display.xml
- <category name="category.sample">
- <portlet id="liferayStudy" />
- </category>
这里面的信息很少,只有portlet id="liferayStudy"这一个,这个是归类,将前面定义的portlet归类到哪个下面,这里面sample,所以在上面我们是在示例这个分类在下面找到这个portlet的。
创建自己的portlet
以前没有Liferay IDE时,上面的那些配置信息都要手动撰写的,现在有了liferay IDE,都可以通过向导创建来完成。
在我们上一步创建的工程里上面点右键-New--Liferay Portlet,出现的界面如下:
在这里输入相应的Portlet class,和相应的包名,其他的不用变,这两个是可以自定义的,点击下一步
注意:接下来的两个步骤里面基本上也不用动其他的,但是这个向导生成的portlet info里面的name,第一个字母变成了小写,这里务必要改过来,就是第一步里面的portlet class要和后面的portlet name一致,不然在添加Portlet时会报错。
点击下一步,完成即可。
刷新浏览器,在“添加”-->“更多”-->"示例"里面即可以看到我们到才添加的portlet。
点击添加的Portlet上面的小螺丝刀,可以看到,多了首选项和帮助等。这时我们在上面的Portlet Modes里面选中Edit,Help的效果
这些里面要显示什么具体的信息和要展现什么具体内容,根据需要了,相应的JSP存在docroot/portletdemo下面。
PS:在SDK的目录里面有一个build.properties文件,这是属性的配置文件,用来指定Tomcat的位置的,不推荐在这上面直接编辑,而是复制一份将其重命名为build.${user.name}.properties,其中的${user.name}指的是当前系统用户名,如果不确定,打开cmd,后面跟的就是当前用户名,如我的为huqiwen,有些是administrator。如果是administrator,就命名为build.administrator.properties。
在这个文件里面只要填上要修改的项就可以了,会自动覆盖build.properties里面的对应项