错误的portlet版本和部署Maven的问题

时间:2016-03-11 09:34:24

标签: maven liferay liferay-6

我使用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)...

2 个答案:

答案 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版本并成功部署它。