我使用Liferay IDE创建了一个新的portlet插件(基于Maven构建)。
如果我启动mvn liferay:deploy
,部署过程将成功结束。但如果再次运行相同的进程(部署),则部署失败。
Updating my-portlet from version 6.2.5 to version 0.1
Not updating my-portlet because version 6.2.5 is newer than version 0.1
我在<version>0.1-SNAPSHOT</version>
文件中声明pom.xml
,但Liferay告诉我(也在控制面板中)插件安装版本为6.2.5。
我正在使用Liferay CE 6.2(ga6),并遵循以下设置:
<liferay.version>6.2.5</liferay.version>
<liferay.maven.plugin.version>6.2.5</liferay.maven.plugin.version>
仅在以下行中使用(不包括门户网站依赖):
<plugin>
<groupId>com.liferay.maven.plugins</groupId>
<artifactId>liferay-maven-plugin</artifactId>
<version>${liferay.maven.plugin.version}</version>
<executions>...</executions>
<configuration>
<liferayVersion>${liferay.version}</liferayVersion>
...
你对我的问题有任何想法吗?
谢谢。
修改 通过将liferay.version和/或liferay.maven.plugin.version设置为6.2.4来解决问题(portlet版本6.2.5)...
答案 0 :(得分:1)
感谢您的评论和回复。
我想我找到了一个解决方案,我想为将来的读者分享它...因为我没有在网上找到它......或者更好,它在网上,但是没有相关性这个问题。
我的原始(Maven)模块名称是(由于项目原始规范):client-external-customer-portlet
,因此生成的WAR为client-external-customer-portlet-0.1-SNAPSHOT.war
Someone on the web建议从portlet名称-
中删除破折号,以避免出现众所周知的Spring-mvc-portlet错误。
我解决了我的问题,只是将相同的建议应用到我的portlet名称:现在它是clientExternalCustomerPortlet
,结果WAR是clientExternalCustomerPortlet-0.1-SNAPSHOT.war
。通过这种方式,一切正常。
我的5美分是LR部署系统在部署过程中也使用破折号作为特殊分隔符。
顺便提一下,在部署client-external-theme-0.1-SNAPSHOT.war
时,日志表示上下文名称仅为client-ext
。
我希望它有用。
答案 1 :(得分:0)
问题是liferay在你的情况下从版本6.2.5开始,你试图在Liferay上部署一个比默认版本更早的0.1版本。
我会尝试部署没有版本的portlet,只需从name-portlet forward中删除。
which
在这种情况下,liferay采用版本6.2.5之类的portlet版本并成功部署它。