Liferay 6开发学习(二十三):Liferay 6.2开发环境准备

2014年01月05日 Liferay 评论 15 条 阅读 28,222 views 次

从本篇文章开始,如无特殊说明,Liferay的版本默认为6.2。所以标题也从原来的Liferay6.1开发学习,修改为Liferay6开发学习。以后的博客里面的文章或示例代码基本上都以最新版本的Liferay为示例说明。

注意:本教程仅对6.2.0到6.2.3适用,后面的版本有稍有差异。

如果是使用6.2.5 GA6的版本,请参考文章《Liferay6.2.5GA6开发环境搭建

Liferay 6.2的SDK中添加了对Maven和ivy的支持,所以在使用上稍有差异,而且有些内容是和之前的版本稍有差异的。

环境准备

Liferay IDE 2.0 ga1(开发Liferay 6.2必须使用2.0的IDE)

Liferay SDK 6.2.0

Liferay Portal 6.2.0

Liferay Src 6.2.0

JDK最好采用 JDK7

以上内容都可以从sourceforge的网站上下载,http://sourceforge.net/projects/lportal/files/

开发环境搭建

环境搭建前期过程和6.1的没有大的差异,可以参考去年文章Liferay 6.1开发学习(一):环境搭建

第一步:配置SDK,配置SDK的过程和那篇文章一致。

第二步:配置Liferay Tomcat。打开Liferay IDE,Window-->Preferences-->Server-->Runtime Environment,点击右边Add…,在弹出的服务器选择里面选择Liferay,Inc-->Liferay v6.2 CE (Tomcat 7),请在“Create a new location server”打上勾。

确保网络畅通

6.1环境中到此已经完成了SDK的配置和开发环境的准备,但是在6.2中,由于采用了ivy,所以在第一步新建Portlet工程的时候会从网上下载一些jar包出来。

所以要保持在第一次使用6.2.0的SDK时保持网络畅通,不然会出现如下的错误:

java.net.UnknownHostException: repo1.maven.org

在网络畅通的时候,在控制台中会出现类似的如下信息:

Buildfile: E:\liferay\6.2\SDK\portlets\build.xml
 [mkdir] Created dir: E:\liferay\6.2\SDK\.ivy
 [get] Getting: http://repo1.maven.org/maven2/org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar
 [get] To: E:\liferay\6.2\SDK\.ivy\ivy-2.3.0.jar
[ivy:resolve] :: Apache Ivy 2.3.0 - 20130110142753 :: http://ant.apache.org/ivy/ ::
[ivy:resolve] :: loading settings :: file = E:\liferay\6.2\SDK\ivy-settings.xml

如果网速不好,这个时间会比较长,10到30分钟(如果网速不好,1个小时也不是不可能的)都是有可能的,如果网速好,那就另说了。

加快速度

(如果上面的速度就很快,就不用按着本节的内容修改了,如果自身的网络本身也就很差,按着下面的修改也不会有大的效果,如果不想下载,则从已经下载好的地方复制过来即可,参考”离线安装“章节)

上面说这个过程可能需要30分钟甚至更长的时间,这个有没有办法加快呢?一定程度上是可以的,先终止了上面看着没反应的下载,我们首先分析一下在这个过程中Liferay IDE在干啥。从上面的日志来看:

第一步:在SDK下面建立了一个叫.ivy的目录。

第二步:从http://repo1.maven.org/maven2/org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar地址下载这个jar包。

第三步:将这个jar包放到.ivy的目录下面。

第四步:使用这个jar包。(打印了jar包的构建信息?)

第五步:加载SDK下面的ivy-settings.xml文件。

看情况就是卡在了第五步,打开ivy-settings.xml文件,我们可以看到如下信息:

  1. <ivysettings>
  2.     <settings defaultResolver="default" />
  3.     <resolvers>
  4.         <ibiblio m2compatible="true" name="jboss-nexus" root="https://repository.jboss.org/nexus/content/repositories/releases" />
  5.         <ibiblio m2compatible="true" name="jboss-thirdparty" root="https://repository.jboss.org/nexus/content/repositories/thirdparty-releases" />
  6.         <ibiblio m2compatible="true" name="maven2" root="http://repo1.maven.org/maven2" />
  7.         <ibiblio m2compatible="true" name="ow2-public" root="http://repository.ow2.org/nexus/content/repositories/public" />
  8.         <ibiblio m2compatible="true" name="primefaces" root="http://repository.primefaces.org" />
  9.         <chain dual="true" name="default">
  10.             <resolver ref="jboss-nexus" />
  11.             <resolver ref="jboss-thirdparty" />
  12.             <resolver ref="maven2" />
  13.             <resolver ref="ow2-public" />
  14.             <resolver ref="primefaces" />
  15.         </chain>
  16.     </resolvers>
  17. </ivysettings>

用过Maven的同学,估计一眼就可以看出来,这里配置的是maven的源地址,慢的原因主要就是我们的网络连接以上源的时候速度太慢了,所以我们加一个对我们相对来说速度比较快的源即可。我加的是开源中国的maven源,添加方法如下:

1、在上面的resolvers标签里面添加一行如下,这里我们是添加了一个源名字叫oschina-maven,以方便下面引用。

<ibiblio m2compatible="true" name="oschina-maven" root="http://maven.oschina.net/content/groups/public/" />

2、在chain里面引用上面的源,并放到第一个位置上。在chain标签里面添加如下的内容:

<resolver ref="oschina-maven"/>

现在重新创建Portlet工程,速度可能会有提升(之所以说可能会有,是因为如果网速本身就差,访问oschina的maven速度当然也不会快到哪去,如果这个速度也不行,可以根据自身的情况调整部分的maven源地址)

离线安装

如果有时候网速非常不好,或者是不能联网怎么办呢?我来看一下上面整个联网的过程其实是做了什么事,主要的来看就是大的两件事

1、下载ivy-2.3.0.jar到.ivy目录下面,并更新cache目录。

2、下载相应的jar包到SDK下的lib目录下面。

所以我们只需要手动的将上述的内容复制到相应的目录下面,不需要联网也可以进行。

相应的Jar包我上传到了我的百度网盘里面,分享的地址为:(请认准版本号)

6.2.0的JAR包: http://pan.baidu.com/s/1qWDCzLU

6.2.1的JAR包:http://pan.baidu.com/s/1c0nISoS

下载后将.ivy目录和lib目录分别覆盖到SDK的根目录。

也就是SDK目录下面的结构是这样的

SDK\.ivy\cache

SDK\lib\xxx.jar

用户头像

15 条留言  访客:11 条  博主:2 条   引用: 2 条

  1. avatar 涂伟

    eclipse new server的时候报错Portal server not supported. Expecting Liferay Portal,您知道是什么原因吗?

    • avatar 胡启稳

      是不是版本不对呀,使用2.0进行开发,在添加tomcat的时候选择正确的版本,6.0,6.1,6.2是分开的

  2. 老师文章写的很棒。我有一个问题,环境搭建起来后,访问localhost:8080,页面打开的很慢,查了一些资料也没有解决,说是自带的数据库是文件型的,我想试着换成orcal数据库该如何处理?

    • avatar 胡启稳

      访问localhost:8080会比较慢,修改了数据库会有一定的提升,也是提升也不明显,这个慢是由于Tomcat会在第一次加载的时候编译相关的JSP文件,所以你第一次访问之后,再访问就会比较快了

  3. avatar scarletake

    好像不支援JDK7,只到JDK6

  4. 很棒 :mrgreen:

  5. 您好!我是新手,刚安装了基于6.2版本sdk的Liferay ide,配置tomcat启动正常,默认portal也可以访问。但是新建工程时弹出对话框“there are no suitable liferay plugin projects available for this new liferay Porlet.Open the liferay plugin project wizard now? ”,无法新建。还请指教,谢谢!

  6. avatar 石头

    楼主,你好,我安装你的步骤用的6.2的包,但是创建工程的时候.ivy就会在控制台提示you probably access the destination server through a proxy server that is not well configured
    请问这是什么原因呢,怎么解决呢,谢谢。

  7. avatar 石头

    楼主,你好,我按照你的方法搭建6.2的开发环境,但是由于我公司无法连接互联网,所以最后在创建Liferay Portal 的时候加载ivy-settings.xml文件中的站点就连接不上,就无法创建项目,有没有办法解决呢?谢谢。

  8. avatar 刘岗

    老师, You probably access the destination server through a proxy server that is not well configured.
    这是什么问题

  9. avatar 小跑漫步

    好痛苦的摸索啊,感谢老师终于也搭建到了portlet plugin project这一步,同样遇到了You probably access the destination server through a proxy server that is not well configured的问题,求解啊

  10. 楼主,你好。
    >第五步:加载SDK下面的ivy-settings.xml文件。
    我想问一下,关于已经配置的maven的源地址,发布Portlet的时候,只访问第一个地址(自己新建的)还是全部地址都必须访问一遍呢。

  11. avatar 城234

    您好,我的控制台一直报这个错误,请问一下可以怎么解决呢?谢谢
    [Console output redirected to file:/home/jalen_chu/workspace/.metadata/.plugins/com.liferay.ide.sdk.core/sdk.log]
    Downloading https://services.gradle.org/distributions/gradle-2.5-bin.zip

    Exception in thread “main” java.net.ConnectException: 连接超时
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
    at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:160)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:275)
    at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:371)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:933)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1301)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
    at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
    at org.gradle.wrapper.Download.download(Download.java:44)
    at org.gradle.wrapper.Install$1.call(Install.java:59)
    at org.gradle.wrapper.Install$1.call(Install.java:46)
    at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
    at org.gradle.wrapper.Install.createDist(Install.java:46)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:126)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

来自外部的引用: 2 条

  • Liferay6.2.5GA6开发环境搭建 | IT人生录
  • Liferay 6.1开发学习(一):环境搭建 | IT人生录

给我留言

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

用户登录

分享到: