最近在论坛上看到有人问如何改写Liferay原有的calendar portlet.

然后研究了一下,直接从portal中把calendar portlet的源码拷贝出来,然后修改再部署上去,但是这个过程中需要一些操作来解决编译等一系列问题。

环境:

1. Liferay IDE: 3.1 ga1
2. Liferay portal: liferay-portal-tomcat-6.2-ce-ga6-20160112152609836
3. Sdk: liferay-plugins-sdk-6.2-ce-ga6-20160112152609836.zip

步骤:

1.用这个SDK在Liferay IDE中创建一个名为calendar portlet的portlet plugin项目

2. 把这个项目中docroot下的文件全部删除

3. 把portal中calendar-portlet的源码拷贝进去,在我电脑上是这个目录(F:\liferay-bundle\liferay-portal-tomcat-6.2-ee-sp20-20170717160924965\liferay-portal-6.2-ee-sp20\tomcat-7.0.62\webapps\calendar-          portlet)

4. 在IDE上把这个portlet删除(不要删除源文件),然后把<classpathentry kind="src" path="docroot/WEB-INF/service"/>加到.classpath文件中,再重新导入到IDE中(Import->Liferay Existing SDK Plugin Project)

5. 安装JDK 6,把当前Eclipse的jre环境换为jdk 1.6,因为6.2的原生portlet需要jvm 6的编译环境,然后把项目的编译的级别设为1.6

6. 安装ant, 把IDE的ant runtime指定为安装的外部ant

7.然后就ok了,你运行builder-service, compile, war,deploy什么的都没有问题了。

下面是论坛的原始回答https://web.liferay.com/community/forums/-/message_boards/view_message/92088815

如何用最暴力的方法改写Liferay的原生portlet的更多相关文章

  1. 从头认识多线程-1.8 迫使线程停止的方法-暴力Stop方法

    这一章节我们来讨论一下暴力Stop方法. 1.使用样例 package com.ray.deepintothread.ch01.topic_8; public class StopByStopMeth ...

  2. Centos 拒绝ssh远程暴力破解方法

    佳木斯SEO摘要 有一天突然收到一封邮件,邮件内容告知我的ECS服务器作为肉鸡在攻击别的机器,期初一想,一定是我机器的账号密码被泄露,或者是被人暴力破解,于是乎,我就查询了一下我机器的账号登录记录. ...

  3. 给出2n+1个数,其中有2n个数出现过两次,如何用最简便的方法找出里面只出现了一次的那个数(转载)

    有2n+1个数,其中有2n个数出现过两次,找出其中只出现一次的数 例如这样一组数3,3,1,2,4,2,5,5,4,其中只有1出现了1次,其他都是出现了2次,如何找出其中的1? 最简便的方法是使用异或 ...

  4. jQuery serializeArray()方法改写多维对象以及自定义

    jQuery客户端表单数据获取 jq在进行客户端表单数据获取我们通常用serialize或者是serizlizeArray(),两种方法,可是在serizlizeArray()返回的数据是一个数组,数 ...

  5. 如何用比较快速的方法掌握Spring的核心——依赖注入,Java web轻量级开发面试教程 读书笔记

    我们知道,Java方面的高级程序员一定得掌握Spring的技能,其中包括Spring 依赖注入(IOC),面向切面(AOP),和数据库的整合(比如和Hibernate整合或声明式事务等)以及Sprin ...

  6. STM32串口DMA接收数据错位——暴力解决方法

    背景:两片STM32通过串口通信,为了减小CPU负担,采用DMA进行通信,发送端为STM32F103C8T6,接收端为STM32F407VET6.在调试的过程中发现,一直出现数据错位的问题,接收端尝试 ...

  7. 如何用最简单的方法将PCweb改成适合各种设备的web

    使web页面自适应设备大小 1)用一个<div>包围<body>的内容 2)该div属性的宽度设为100%   (宽度设为100%后,页面会随着设备窗口大小自动改变) 3)高度 ...

  8. 通过focusInEvent和eventFilter两种方法改写控件颜色(自定义控件就是这么来的)

    http://www.cnblogs.com/hicjiajia/archive/2012/05/30/2526768.html http://www.cnblogs.com/hicjiajia/ar ...

  9. IDEA——找不到或无法加载主类的一种暴力解决方法

    对于用maven构建的java项目,可以利用maven工具编译一下,大致上可以解决很多奇奇怪怪的问题. 具体操作如下: 首先找到项目所在的文件夹,以F:\project为例. 删除.idea文件. 在 ...

随机推荐

  1. github的账号密码 redis windows版连接方式

    账号:Pinshuducha 邮箱:java_zhoulu@163.com 密码:zhoulu1994 服务器端: 启动:redis-server.exe redis.windows.conf 客户端 ...

  2. watch、tail联合使用

    因为用了tmux,不想调整窗格大小,只想输出命令结果的最后几行,所以就想出了这个方法. watch.tail联合用法 watch 'echo "`nvidia-smi`" | ta ...

  3. Ionic 新闻类别菜单

    1.效果图   2.controller .js .controller("ProductCtrl", function ($scope,$ionicModal,$ionicScr ...

  4. 用js创建标签

    html部分: <div id="div_1"> <table id="tab"></table> </div> ...

  5. IndentationError: expected an indented block错误

    Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的python程序员,也可能陷入陷阱当中.最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分 ...

  6. 提高scrapy的抓取效率

    增加并发 默认scrapy开启的并发线程的个数是32个,可以适当的进行增加.在settings中进行设置CONCURRENT_REQUESTS=100 降低日志级别 在运行的时候,会有大量的日志信息的 ...

  7. css 一行或多行文字溢出以...的形式隐藏

    一行文字溢出以...形式隐藏 我需要隐藏... css代码如下: white-space:nowrap; text-overflow:ellipsis; overflow:hidden; 多行文字溢出 ...

  8. Python numpy.transpose 详解

    前言 看Python代码时,碰见 numpy.transpose 用于高维数组时挺让人费解,通过一番画图分析和代码验证,发现 transpose 用法还是很简单的. 正文 Numpy 文档 numpy ...

  9. HNOI 2019 多边形

    HNOI 2019 多边形 题意 小 R 与小 W 在玩游戏. 他们有一个边数为\(n\)的凸多边形,其顶点沿逆时针方向标号依次为\(1,2,3...n\).最开始凸多边形中有\(n\)条线段,即多边 ...

  10. 洛谷 P3956 棋盘

    题目描述 有一个m ×m的棋盘,棋盘上每一个格子可能是红色.黄色或没有任何颜色的.你现在要从棋盘的最左上角走到棋盘的最右下角. 任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的), 你只能向上 ...