使用Maven创建liferay应用时候注意archetype的版本
2012-06-15 12:44
671 查看
我们用Maven创建liferay应用(比如portlet,theme)时,常常有个版本选择,如图:
默认的“Show the last version of Archetype only” 是被选中的,这时候我们只能显示最新版本的archetype,如果我们用最新版本的archetype开发应用,则最终当应用部署到低版本的容器中(比如我们目标的liferay server版本是6.1.0),就会出以下的错误:
错误分析:
显然,错误提示是低版本(6.1.0)的liferay 容器的PortletAutoDeployListener当探测到${liferay.home}/deploy 目录中有我们maven 部署上去的portlet应用时,因为看到portlet应用版本高于liferay容器自己的处理能力,所以无法处理。
验证猜想:
我们查看portlet应用的WEB-INF/liferay-plugin-package.xml文件,果然发现,应用的版本太高(6.1.0)
解决这个部署这个portlet到容器的方法:
当我们把portlet的版本号改到低于(或者等于)liferay容器的版本号时(也就是吧这个<liferay-version>元素从6.1.10改为6.1.0),问题就解决了。
更通用的解决方法:
为了防止以后的错误发生,在我们用maven向导创建portlet时,请关闭Show the last version of Archetype only 选项,这样我们的应用版本就可以选择了,我们选择低于目标服务器版本号的版本,就不会出类似错误了。
默认的“Show the last version of Archetype only” 是被选中的,这时候我们只能显示最新版本的archetype,如果我们用最新版本的archetype开发应用,则最终当应用部署到低版本的容器中(比如我们目标的liferay server版本是6.1.0),就会出以下的错误:
Copying portlets for /app/Liferay/RI/liferay-portal-6.1.0-ce-ga1/deploy/paas_integration_portlet.war 03:11:17,971 ERROR [AutoDeployDir:197] com.liferay.portal.kernel.deploy.auto.AutoDeployException: com.liferay.portal.kernel.deploy.auto.AutoDeployException: paas_integration_portlet.war does not support this version of Liferay com.liferay.portal.kernel.deploy.auto.AutoDeployException: com.liferay.portal.kernel.deploy.auto.AutoDeployException: paas_integration_portlet.war does not support this version of Liferay
错误分析:
显然,错误提示是低版本(6.1.0)的liferay 容器的PortletAutoDeployListener当探测到${liferay.home}/deploy 目录中有我们maven 部署上去的portlet应用时,因为看到portlet应用版本高于liferay容器自己的处理能力,所以无法处理。
验证猜想:
我们查看portlet应用的WEB-INF/liferay-plugin-package.xml文件,果然发现,应用的版本太高(6.1.0)
解决这个部署这个portlet到容器的方法:
当我们把portlet的版本号改到低于(或者等于)liferay容器的版本号时(也就是吧这个<liferay-version>元素从6.1.10改为6.1.0),问题就解决了。
更通用的解决方法:
为了防止以后的错误发生,在我们用maven向导创建portlet时,请关闭Show the last version of Archetype only 选项,这样我们的应用版本就可以选择了,我们选择低于目标服务器版本号的版本,就不会出类似错误了。
相关文章推荐
- DOS下使用maven的archetype:generate插件目标来创建maven项目的小结(maven3.0以后的版本)
- Maven 使用 webapp archetype 创建Web 应用后无法找到 java 和 test 文件夹
- eclipse 使用 maven-archetype-quickstart 创建项目报错
- eclipse中使用maven创建项目JDK版本默认是1.5解决方法
- 使用maven3 创建自定义的archetype
- Eclipse使用Maven创建Web时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap
- Eclipse使用Maven创建Web时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-weba
- 公司开发时候,使用svn进行版本控制,在提交代码的时候应该注意的问题,总结!!!!
- 使用maven3 创建自定义的archetype
- 在Maven仓库中添加Oracle JDBC驱动(原出处有些问题,进行更正:版本对应问题,如使用oci连接方式更要注意版本对应关系)
- 使用Maven命令行快速创建项目骨架(archetype)
- 使用maven编译的时候提示 maven-source 1.3 中不支持注释请使用 -source 5 或更高版本以启用注释的错误。
- 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本
- Eclipse使用Maven创建Web时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap
- Eclipse使用Maven创建Web时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap
- 创建maevn项目的时候报错:maven-archetype-webapp:pom:RELEASE
- 使用Eclipse自带的Maven插件创建Web项目时报错:Could not resolve archetype org.apache.maven.archetypes:maven-archetyp
- Eclipse使用Maven创建Web时错误:Could not resolve archetype
- Eclipse使用Maven创建Web时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap
- 使用maven3 创建自定义的archetype