等了好久终于等到了5.0的出现,download下来一看,突然发现自已好像啥也不会了,liferay5.0他提倡的是plugins开发方式,tomcat里面啥也没有了,郁闷只好重新deploy了一下,然后配置plugins-sdk自已做了一个简单的portlet,deploy然后发现ROOT下面啥也没有,郁闷极了,日志到是写成功了,找了半天发现他deploy到了bin/{jetty.home}下面了,为什么会这样,最初我以为是那里配置文件那里没有配好,在eclipse里面search关键字jetty.home啥也没有找到,逼不得已只好去找hot deploy相关代码,居然让我发现了liferay的一个小秘密.ServerDetector中
public static String getServerId() {
ServerDetector sd = _instance;
if (sd._serverId == null) {
if (ServerDetector.isGeronimo()) {
sd._serverId = GERONIMO_ID;
}
else if (ServerDetector.isGlassfish()) {
sd._serverId = GLASSFISH_ID;
}
else if (ServerDetector.isJBoss()) {
sd._serverId = JBOSS_ID;
}
else if (ServerDetector.isJOnAS()) {
sd._serverId = JONAS_ID;
}
else if (ServerDetector.isOC4J()) {
sd._serverId = OC4J_ID;
}
else if (ServerDetector.isOrion()) {
sd._serverId = ORION_ID;
}
else if (ServerDetector.isPramati()) {
sd._serverId = PRAMATI_ID;
}
else if (ServerDetector.isResin()) {
sd._serverId = RESIN_ID;
}
else if (ServerDetector.isRexIP()) {
sd._serverId = REXIP_ID;
}
else if (ServerDetector.isSun7()) {
sd._serverId = SUN7_ID;
}
else if (ServerDetector.isSun8()) {
sd._serverId = SUN8_ID;
}
else if (ServerDetector.isWebLogic()) {
sd._serverId = WEBLOGIC_ID;
}
else if (ServerDetector.isWebSphere()) {
sd._serverId = WEBSPHERE_ID;
}
if (ServerDetector.isJetty()) {
if (sd._serverId == null) {
sd._serverId = JETTY_ID;
}
else {
sd._serverId += "-" + JETTY_ID;
}
}
else if (ServerDetector.isTomcat()) {
if (sd._serverId == null) {
sd._serverId = TOMCAT_ID;
}
else {
sd._serverId += "-" + TOMCAT_ID;
}
}
if (_log.isInfoEnabled()) {
_log.info("Detected server " + sd._serverId);
}
if (sd._serverId == null) {
throw new RuntimeException("Server is not supported");
}
}
return sd._serverId;
}jetty的判断在tomcat的前面,而他做判断是根据能不能生成不同web server服务器的server.class来判断你是用的tomcat还是jetty还是其他的.
而plugins-sdk自动生成portlet的时才有两名代码
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
这两个类本身是不识别的,在portal-src中他是在selenium-server.jar中的,所以我也直接引入了这个包,tomcat中没有这个包,我直接把他放到了tomcat中去了,而这个包中能找到/org/mortbay/jetty/Server.class这个类,这个就是jetty服务器用的,jetty判断写在tomcat之前,自然系统就以为你用的是jetty服务器.可是为什么没有这个包之前,那其他的类为什么能识别这个呢,原来liferay不知道出于什么目的,在开发中用的是selenium-server.jar这个包,而在真正发布的时候他用的是commons-logging.jar这个包,其实这本身就是apache的log包,打开selenium-server.jar这个包会发现里面也包括了commons-logging的内容.所以说解决方法也很简单,用commons-logging.jar而不要去用selenium-server.jar.
分享到:
相关推荐
Liferay Plugins SDK 5.2.3 是一个专门用于开发Liferay Portal的portlet和其他插件的应用开发工具包。Liferay Portal是一款开源的企业级内容管理平台,它提供了丰富的功能,包括网站构建、社交网络、协作工具等。这...
Liferay Plugins SDK 5.1.2 是一个用于开发Liferay Portal插件的软件开发工具包,它为开发者提供了一套完整的框架和工具,以便于创建Portlets、Themes以及其他定制功能。Liferay Portal是一个开源的企业级内容管理和...
Liferay Plugins SDK 6.1.1 是一个用于开发Liferay Portal扩展的工具包,它为开发者提供了构建自定义portlet、主题、布局、工作流和其他插件所需的一切资源。这个特定版本的SDK发布于2013年8月16日,版本号6.1.1,...
Liferay 6.2 SDK 是一个开发工具包,专为构建和扩展Liferay Portal 6.2 版本而设计。Liferay Portal 是一个开源的企业级内容管理平台,提供了丰富的功能,如网站创建、协作、内容管理、社交媒体整合等。Liferay ...
Liferay SDK,全称为Liferay Portal Software Development Kit,是一个用于构建和扩展Liferay Portal的工具集。Liferay Portal是一款开源的企业级内容管理平台,广泛应用于企业内部网站、社交媒体、协作和工作流程...
the portlets.zip files, which provide portlets directory skeleton, needs to be changed by a correct one....cd liferay-plugins-sdk-5.1.2/portlets rm portlet.zip and download it from here !
Liferay Portlet SDK 5.2.3是该系列的一个特定版本,专为Liferay Portal 5.2.3版本设计,它包含了开发portlet所需的类库、文档和示例代码,使得开发者能够高效地集成自定义功能到Liferay Portal环境中。 **portlet...
Liferay 6.2.1 SDK 是一个用于开发 Liferay Portal 扩展的软件开发工具包,它包含了构建 Liferay 应用程序所需的各种库和工具。这个版本的 SDK 特别强调了对依赖项的管理和优化,以适应那些网络环境受限或网络速度较...
Liferay 是一个开源的企业级门户平台,它提供了一整套工具和服务,用于构建和管理数字体验。本教程将详细解释如何在Windows环境下搭建Liferay的开发环境,以进行二次开发。 首先,我们需要准备以下文件: 1. JDK ...
1 liferay-plugins-sdk-6.1.1(Plugins SDK) 2 liferay-portal-6.1.1-ce-ga2(Bundled with Tomcat) 3 liferay-portal-src-6.1.1-ce-ga2(Portal Source,可选) 4 liferay IDE 1.6 5 Java SDK(开发Java程序当然要安装...
本节将详细介绍如何使用Liferay Mobile SDK和Liferay Screens来构建一个示例应用——商店管理应用。 ##### 3.1 应用概述 该应用允许商店经理监控店铺的经营状况,包括销售金额及其同比增长率、利润及其同比增长率...
ANT是一个Java程序,用于自动化构建过程,而Liferay的Plugins SDK提供了ANT脚本,简化了Portlet的构建和部署。 ### Liferay 开发环境配置 文档也描述了如何在本地安装和配置Liferay的开发环境,包括设置`ANT_HOME`...
将下载的资源解压,并将其存放在一个统一的目录下面,以便于后续的操作。 二、部署Liferay Liferay的部署需要将Tomcat拷贝到指定的目录下,并将其解压。然后,需要将Tomcat的配置文件设置为可执行文件,并执行启动...
sourceforge liferay sourceforge下载链接
Liferay Plugins SDK是Liferay提供的一个工具集,帮助开发者快速构建和部署Liferay门户的各种插件,如主题、布局、portlet、 hook和扩展。这个SDK包含了构建工具、示例代码和文档,使得开发过程更加顺畅。 1. **...
通过以上步骤,您已经成功搭建了Liferay开发环境并创建了一个简单的portlet项目。Liferay的强大之处在于其丰富的功能集和灵活的架构设计,允许开发者快速构建复杂的企业级应用。掌握这些基本操作后,您可以进一步...
单击 Windows->Preferences,选择 Liferay->installed Plugin SDKs,单击 Add… 按钮,出现下图,填写 sdk 的 location 和 name,文件夹 D:\liferay\liferay-plugins-sdk-6.1.1 为前面下载的文件 liferay-plugins-...
- 将下载的Liferay IDE解压到一个指定的目录,如D:\liferay\eclipse。 - 启动Eclipse,进入“Window” -> “Preferences”,选择“Liferay” -> “Installed Plugin SDKs”。 - 点击“Add...”,指定Liferay Plugins...
综上所述,Liferay Portal不仅为企业提供了一个强大的门户平台,同时也为开发者提供了一套完整的开发框架和工具集。无论是对于希望快速搭建企业门户的用户,还是想要深入探索Liferay开发的开发者,这份快速入门指南...
《Liferay开发文档5.0》是一本全面介绍如何在Liferay企业门户平台上进行开发的专业指南。该文档不仅为初学者提供了快速入门的方法,还深入探讨了高级开发技术,使读者能够深入理解并熟练掌握Liferay的开发流程。 ##...