Liferay SDK目录结构说明

2013年12月09日 Liferay 评论 2 条 阅读 7,515 views 次

本文详细说明一下Liferay SDK下面的目录结构的作用,以Liferay 6.2.0版本的SDK为说明。

Liferay SDK的作用

初次接触Liferay的同学可能会有疑问,开发的时候为啥需要Liferay SDK,这个东西是干嘛的,不要行不行?

首先Liferay SDK的是干嘛的?

SDK(Software Development Kit)软件开发工具包,从字面理解Liferay SDK也即是Liferay的软件开发工具包,准确来讲是Liferay二次开发工具包。它的作用是辅助我们方便的进行Liferay的二次开发。

不要行不行?

有人问过我,SDK这个东西不要行不行呀。准确来说不要可以的,就像上面所言SDK的作用是辅助我们方便的进行二次开发,既然是辅助的,不要当然可以。但是如果不使用SDK,进行Liferay的二次开发就会复杂点,会花费更多的时间。

Liferay SDK的目录结构

Liferay 6.2.0 SDK的目录结构如下图所示,我们对主要的目录的来进行说明:

Liferay sdk的目录

ext、hooks、layouttpl、portlets、themes:这几个目录的作用一样,放在一起说明。这几个目录是用来存放Liferay不同的工程类型的,在前面《Liferay 6.1开发学习(二):创建一个Portlet工程》中有对不同的工程类型有大概的说明,hooks目录下面放hook工程,themes目录下面放theme工程,同理的ext目录下面放ext工程,普通的portlet工程放到portlets目录下面。这里务必要说明的是,如果我们使用Liferay IDE开发,从SVN上检出或从网上下载的代码,根据不同的工程类型主到不同的目录下面,如果放错在eclipse里面就会出现找不到SDK的错误。

这几个目录下面一般都有四个默认的文件,build.xml与build-common-xxx.xml这两个文件是ant的文件,里面根据不同的工程类型有一些不同的ant脚本,以方便工程的编译部署。create.bat和creat.sh分别为windows和Linux下面的批处理和shell脚本,用来创建指定的工程。我们在Liferay IDE里面创建一个工程的时候就类似执行了一个这样的脚本 。

lib:此目录下面的jar包为ant执行时所依赖的jar包。

misc/jalopy.xml:是jalopy的格式描述文件。用以Service Builder时代码格式说明。

tools:此目录下面保存的为Liferay不同插件工程的模块,我们使用ant或Liferay IDE创建工程后生成的内容都是基于此目录下面的模板进行构建。如果项目有特殊的需求,可以修改这里面的模板以更方便的符合我们项目实际需求。

build.properties:构建时一些属性的配置信息,比如SDK的路径,Liferay Tomcat的路径等信息等,都在此文件里面使用,此文件里面的属性信息供Liferay IDE和ant等使用。

其他的文件都是ant的构建文件,比如如何打包编译不同的插件工程,阅读时需要一定的ant知识。比如有人在执行Service Builder时会提时内存不足,那这个所需要的内容的大小是在哪里面定义的呢?

我们在Liferay IDE里面执行的ant操作都是在这些ant文件中的,比如执行Service builder时,是执行build-common-plugin.xml文件中的build-service操作,可以打开build-common-plugin.xml在其中找到<target name="build-service">。通过阅读此文件,我们就可以知道在执行Service Builder时做了些什么操作,在这个里面就可以看到里面对JVM的参数设置:

<jvmarg value="-Xms512m" />
 <jvmarg value="-Xmx1024m" />
 <jvmarg value="-Xss2048k" />

当builder Service时,内存不足时,就可以根据适当的情况在此将JVM的参数设置小一点。

同样的我们通过阅读这样的ant文件,也可以知道在点击deploy的时候做了些什么操作。通过对ant文件的阅读能够加深我们的Liferay的理解。主要的ant文件为build-common-plugin.xml,这里存的是主要的ant的操作,不同的插件工程不同的ant操作是在各自己的模块下面的,比如hook工程的一些特殊的ant操作是在hooks/build-common-hook.xml里面定义,portlets工程的一些特殊操作是在portlets/build-common-portlet.xml里面定义的。

 

 

用户头像

2 条留言  访客:1 条  博主:1 条

  1. 胡老师,请问一下6.1版本的项目的liferay换成6.2版本的重新配置一次就行吗?

    • avatar 胡启稳

      有SDK包的,SDK包在https://sourceforge.net/projects/lportal/files/Liferay%20Portal/6.2.5%20GA6/,这个里面可以找到

      他没有一个单独的目录叫SDK的,是和tomcat放在一起的

给我留言

您必须 登录 才能发表留言!

Copyright © IT人生录 保留所有权利.   主题设计 知更鸟 滇ICP备16001547号

用户登录

分享到: