Liferay6.2.5GA6开发环境搭建
曾经写过两篇关于环境搭建的文章,如下:
《Liferay 6开发学习(二十三):Liferay 6.2开发环境准备》
为什么要再单独写一篇关于6.2.5(GA6)的文章呢?因为我在群里面看到有不少人碰到这个问题,前面的两篇文章解决不了,之所以有这个问题是因为Liferay在不同的小版本里面还略有差异,上面两篇文章在特定的版本里面是有效果的,但是在6.2.5里面会还是会碰到问题。
在Liferay6.2.5里面,基于eclipse创建一个插件工程的时候需要下载Jar包,但是会发现报下面的错误,如图:
错误的信息为:
Buildfile: E:\WorkCode\chinaliferay\sdk\portlets\build.xml [mkdir] Created dir: E:\WorkCode\chinaliferay\sdk\.ivy [copy] Copying 1 file to E:\WorkCode\chinaliferay\sdk\.ivy Unable to obtain resource from E:\WorkCode\chinaliferay\sdk\.ivy\ivy-2.4.0.LIFERAY-PATCHED-1-SNAPSHOT.jar: java.util.zip.ZipException: zip file is empty [taskdef] Unable to obtain resource from E:\WorkCode\chinaliferay\sdk\.ivy\ivy-2.4.0.LIFERAY-PATCHED-1-SNAPSHOT.jar: [taskdef] java.util.zip.ZipException: zip file is empty
我们阅读错误信息发现是说打开ivy-2.4.0.LIFERAY-PATCHED-1-SNAPSHOT.jar这个jar包出错,这个的文件是空的,我们进入到sdk/.ivy目录,发现这个文件的大小确实是空的,这个不知道算不算是liferay的bug,我们需要下载一个完整的文件,那这个文件从哪里下载呢?
如果是想快速解决,点击这里下载:http://pan.baidu.com/s/1c26rLzM,将下载后的jar包覆盖到sdk目录下面的.ivy目录里面的指定文件,重新新建插件工程,就会开始jar包的下载。
怎么解决的?
如果是想了解是怎么解决的,看下文。
我们前面发现是ivy-2.4.0.LIFERAY-PATCHED-1-SNAPSHOT.jar这个jar包下载没有成功或者是出错,我们需要手动的下载,SDK里面很多基础的信息都是在build.properties文件里面保存的,我们打开这个文件搜索ivy,发现大概有如下信息:
ivy.cache.ttl.default=eternal ivy.custom.settings.file=${sdk.dir}/ivy-settings.xml ivy.home=${sdk.dir}/.ivy
#ivy.jar.url=http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar ivy.jar.url=http://cdn.repository.liferay.com/nexus/content/repositories/liferay-snapshots-ce/com/liferay/org.apache.ivy/${ivy.version}/org.apache.ivy-${ivy.version}.jar
ivy.log.level=quiet ivy.pom.developer.name=Brian Wing Shun Chan ivy.pom.developer.organization=Liferay, Inc. ivy.pom.developer.organizationUrl=http://www.liferay.com ivy.pom.license.name=LGPL 2.1 ivy.pom.license.url=http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt ivy.pom.scm.connection=scm:git:git@github.com:liferay/liferay-plugins.git ivy.pom.scm.developerConnection=scm:git:git@github.com:liferay/liferay-plugins.git ivy.pom.scm.url=http://github.com/liferay/liferay-plugins ivy.resolve.transitive.dependencies=true ivy.resolve.transitive.dependencies.test=true
#ivy.version=2.4.0 ivy.version=2.4.0.LIFERAY-PATCHED-1-SNAPSHOT
看上面的信息发现了一个叫ivy.jar.url的文件,加上下面的ivy.version的信息,我们拼出下载的地址为:
http://cdn.repository.liferay.com/nexus/content/repositories/liferay-snapshots-ce/com/liferay/org.apache.ivy/2.4.0.LIFERAY-PATCHED-1-SNAPSHOT/org.apache.ivy-2.4.0.LIFERAY-PATCHED-1-SNAPSHOT.jar
将上面的信息复制到浏览器中进行下载即可。
在有些情况下我们上面的地址不能下载,比如使用chrome会出现提示,这个连接就是打不开。
此时,我们将最前面的cdn去掉即可,也就是使用下面的链接,我怀疑是liferay的CDN服务器的配置问题。
https://repository.liferay.com/nexus/content/repositories/liferay-snapshots-ce/com/liferay/org.apache.ivy/2.4.0.LIFERAY-PATCHED-1-SNAPSHOT/org.apache.ivy-2.4.0.LIFERAY-PATCHED-1-SNAPSHOT.jar
修改本地的maven仓库位置(可选)
在默认情况下我们可以看到Liferay将一些maven库的信息定位到的是:file://${user.home}/.m2/repository
这个配置信息是在SDK目录下面的ivy-settings.xml文件中,我们可以修改为我们自己的本地的jar包位置:
如我的就为:file:///D:/lib/localRepository/
当然这个是可选的,如果公司有自己的maven服务器,也可以将上面的liferay-public的地址指向公司私有maven服务器的地址,这样公司只要下载过,其他人再次运行时速度会快很多。
liferay6.2.5的tomcat server启动时,starting的进度从0跳到23%再到100%,然后eclipse就卡住,然后崩溃。之后查看tomcat和eclipse 的日志,都没有报错的记录。请问这是怎么一回事?
1、编辑 liferay-plugins-sdk-6.2 –> build.properties
2、修改替换ivy.jar.url值
ivy.jar.url=https://repository.liferay.com/nexus/content/repositories/liferay-public-snapshots/com/liferay/org.apache.ivy/${ivy.version}/org.apache.ivy-${ivy.version}.jar