liferay-protal学习1-配置开发环境
1. liferay的搭建
liferay官网下载:https://sourceforge.net/projects/lportal/files/(建议迅雷下载否则容易产生下载失败)
下载文件:
必须:
liferay-ce-portal-tomcat-7.0-ga5-20171018150113838.zip
说明:Liferay的运行环境。
liferay-ide-eclipse-windows-x64-3.1.2-ga3-201709011126.zip
说明:开发所使用的IDE,其实就是一个基于Eclipse上运行的插件,当然也可以选择使用IDEA进行开发,这里介绍的是eclipse。
非必须:
liferay-ce-portal-src-7.0-ga5-20171024113503852.zip
说明:liferay的源码,可以方便我们对于一些进行源码的写法进行参考。
liferay-plugins-sdk-7.0-1.0.13-withdependencies-20171018150113838.zip
说明:采用SDK开发模式所需要的,但是7.0不再推荐采用此模式。
注意:
如果采用的是JDK7.0及以下的版本,在启动Liferay IDE后会找不到Liferay的相关插件。
注意1:Liferay 7.0的开发需要JDK8的环境。
注意2:Liferay 7.0运行需要的是JDK,而不仅仅是JRE(正常的J2EE软件的运行需要jre就足够)。
不然出现此篇博客的情况:《Liferay7启动报错There is an error in invoking javac.》
注意3:Liferay 7.0的开发SDK不是必须的,属于可选状态。
将以上资源解压在某一个目录里面,最好是根目录,并对上面的文件进行重命名,不然在解压时可能会出错误,说路径太长的情况。
我的解压目录一般如下,可以参考:
liferay7开发模式:
OSGI模块模式(基于Gradle)
Liferay 7.0新增了基于Gradle构建系统的开发,这种是7.0推荐的模式。
第一步:创建liferay Workspace Project,如下图,输入工作区的名称。同一个Eclipse的工作区里面只能创建一个Workspace Project。
第二步:点击完成即可,此过程需要下载jar包,速度会比较慢,根据网络情况而定。下载的是gradle的zip包,具体是下载到当前用户目录下面的.gradle目录下面。
注意:如果网络比较慢,可以下载我下载好的目录,然后解压到自己的用户下面的目录里面,一般是在C盘(系统盘),用户--当前系统的登录用户名下面,可以找到一个.gradle的目录,将下面的下载后解压到里面,重新创建Liferay Workspace即可。也就是说如果是在公司里面可以从其他同事那里复制一份过来。
如果下载长时间不好,说明网络不太好,可以尝试使用手机的4G网络进行下载。正常情况大概会在3-10分钟左右。
第三步:工作区创建好后如下图所示,如果下面是空的,没有下面的modules、configs等,说明是创建失败了,一般是由于网络问题,可能是gradle的包下载出错引起的。
第四步:在菜单中点击New Liferay Module Project,在Project Template Name那里选择mvcportlet,如果是要创建数据库,选择servicebuilder,其他几种模式是OSGI的开发,后面再说明。
第五步:在下一步中输入组件名称和包路径,然后点击完成。此时会在上面工作区里面的modules里面看到我们刚才新建的Portlet插件工程。
第六步:在这个工程里面主要有两个目录,src/main/java和src/main/resource,前面是来放java代码,后面是来放JSP和一些资源文件等。
第七步:写完代码我们现在可以将页面视图切换到Liferay Workspace,默认就已经切换,如果没有进行些切换,在右边找到Gradle Tasks,如下图,找到我们创建的工程,然后点击下面的build,双击里面deploy,将会对我们当前的工程进行打包部署。
注意:这里点击deploy正常就应该部署到Liferay tomcat里面,但是此时没有部署到Liferay tomcat里面。需要做如下修改,在上面的工作区里面找到gradle.properties文件,打开在里面添加如下的配置,后面的是liferay Tomcat所在的目录,不然只会将生成的jar包在上面工作区里面的module里面,需要手动的将jar包复制到deploy里面部署。
liferay.workspace.home.dir=I:/liferay7/portal
第八步:如果现在我们要在这个Portlet里面访问Liferay里面的其他API,比如JournalArticle的相关API,需要在上面的portlet工程里面的build.gradle,添加相应的依赖。
在dependencies里面添加:
compile group: "com.liferay", name: "com.liferay.journal.api", version: "2.0.0"
这个添加是com.liferay.journal.api的依赖,熟悉maven的一眼就看出来,前面是定义的作用域,第二部署是group,第三部分是name,第四部分是版本号。
现在的IDE有一个问题,为添加依赖后不会自动刷新jar包,需要在项目上点击右键-->gradle-->refresh Gradel Project,执行之后会从远程仓库下载jar包,此时在我们的工程里面就可以使用相应的jar包了。
liferay-protal学习1-配置开发环境相关推荐
- 安卓 c 语言开发环境搭建,用C++语言开发Android程序 配置开发环境
如果你是一个C++语言的死忠,你喜欢C++语言到了偏执的状态,如果不想学习Java语言,或者你很讨厌Java语言,如果你认为Java虚拟机的内存占用太多和执行低效.如果你过度关注Andoird程序的执 ...
- 1.Electron-封装地图瓦片下载小工具(MapDownload) [配置开发环境]
本软件完成状况 未完成~~ 目的 之前写了一个地图瓦片下载小工具 地图地图瓦片下载器(有兴趣可以去看看)由于是"黑框"版本的.想把它封装成界面版本.接下来我会用一段时间把我学习El ...
- SharePoint 2013 配置开发环境,需安装VS2012插件
SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有SharePoint 2013开发的支持,如下图: 然后,去网上查找资料,VS2012对 ...
- java fx配置_JavaFX系列-配置开发环境
JavaFX系列-配置开发环境 本文主要介绍JavaFX环境的搭建和如何部署JavaFX应用 添加JavaFX依赖 在工程 build.gradle 中加入以下内容: plugins { id 'ap ...
- react http请求_通过Webpack全局配置开发环境和多种生产环境的请求地址
在线上项目的开发中,我们经常会有一个测试服务器一个正式服务器,当我们开发时我们会去使用测试服务器的接口地址,而发版时会把地址改为正式服务器的地址,因此我们可能会在两个地址来回切换(有可能还有更多环境, ...
- DL之IDE:深度学习之计算机视觉开发环境搭建的详细流程(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow_gpu)
DL之IDE:深度学习之计算机视觉开发环境搭建的详细流程(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow_gpu) 目录 1.安装nvidia驱动 2.安装CUDA ...
- Django配置开发环境和生产环境以及配置Jinja2模板引擎
配置开发环境 在项目的目录(即就是settings.py的同级目录)创建settings的Python的包 在创建的settings的包中,创建dev.py,将原项目的setting.py中内容全部复 ...
- HarmonyOS之搭建和配置开发环境的流程
一.搭建开发环境流程 DevEco Studio 支持 Windows 系统和 macOS 系统,在开发 HarmonyOS 应用前,需要准备 HarmonyOS 应用的开发环境.环境准备流程如下所示 ...
- QT + OpenCV + MinGW 在windows下配置开发环境
由于研究项目需要,最近开始接触C++界面设计,关于"QT + OpenCV + MinGW在windows下配置开发环境"着实让人头疼,单次配置时间相当长,也十分不容 ...
- php4 apache 配置,[开发环境配置]windows下php4+mysql4+apache2开发环境配置
在网上看了好多php+mysql+apache的开发环境配置文档.但是其中不乏出现了很多的问题导致在配置开发环境的时候出现了很多的问题.这里总结出一份自己配置过程中的文档希望能给大家带来一些帮助.那么 ...
最新文章
- C语言基础之--scanf函数
- Selenium + Nightwatch 自动化测试环境搭建
- 101个脚本之linux回收站
- 每日一皮:这张图送给正在努力改Bug的你
- SAP HANA ANY和ALL关键字
- vue vue的table表格自适应_响应式表格,HTML表格自适应(responsive table)
- python的map函数求取每个元素的平方根_python的map函数的使用方法详解以及使用案例(处理每个元素的自增、自减、平方等)......
- linux mariadb忘记密码,忘记MySQL/MariaDB root密码的解决方法
- 2021 前端面试经常被问到 Javascript+HTML5+CSS+ 框架问题(89 篇资料总结)
- 【5分钟 Paper】Continuous Control With Deep Reinforcement Learning
- js中去除字符串中所有的html标签
- mysql 表单记录主键重新从1开始排序
- NOD 32 企业版远程管理服务器病毒库更新失败
- 学术会议html模板,学术会议的常用模板
- wps怎么下载仿宋gb2312_仿宋|如何下载仿宋gb2312字体_wps仿宋gb2312字体下载方法_234游戏网...
- 【12月英语博客】念念不忘,必有回响
- python 图表_测试多图表展示Python版
- 直播带货如何选品;抖音直播带货选品7大要素;丨国仁网络资讯
- 旁挂二层组网隧道转发
- DataGridView列的宽度、行的高度自动调整
热门文章
- IE浏览器打不开解决办法
- avue一些隐藏的配置
- 爬取百思不得姐上面的视频
- 儿童php钢板使用流程,8字钢板半骺板阻滞术治疗儿童下肢成角畸形
- VS Visual Studio 2022调试控制台 输出不全 不完整 缺内容 少了很多代码 有屋设计拆单管理一体化软件 全屋定制拆单 橱柜衣柜整装 木门归方程序
- 城市场景车路协同网络该怎么建?
- 电脑账户服务器未能登录拒绝访问,win7系统开机提示服务未能登入拒绝访问的解决方法...
- 相见恨晚的5个资源网站 影视音乐资源随你看
- 训练一个图像分类器demo in PyTorch【学习笔记】
- 无法回避的现实问题:“亲对象”也要明算账?