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

Wrong portlet version and deploy problems with Maven

我使用 Liferay 创建了一个新的 portlet 插件(基于 Maven 构建)IDE。

如果我启动 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

我在 pom.xml 文件中声明了 <version>0.1-SNAPSHOT</version>,但是 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>
                ...

你知道我的问题吗?

谢谢。

编辑 问题是相同的(portlet 版本 6.2.5)也通过将 liferay.version and/or liferay.maven.plugin.version 设置为 6.2.4...

问题是 liferay 在您的案例中以 6.2.5 版开始,而您正试图在 Liferay 上部署比默认情况下更旧的 0.1 版本。

我会尝试部署没有版本的 portlet,只需从 name-portlet forward 中删除即可。

Portletname-portlet.war

这样的话,liferay像portlet版本一样取6.2.5版本部署成功。

感谢评论和回复。

我想我找到了一个解决方案,我想与未来的读者分享它...因为我没有在网上找到它...或者更好的是,它在网上,但不是'与此问题相关。

我原来的 (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

希望对你有用