代码之家  ›  专栏  ›  技术社区  ›  Pierpaolo Cira

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

  •  1
  • Pierpaolo Cira  · 技术社区  · 9 年前

    我使用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,问题也是一样的(portlet版本6.2.5)。版本和/或liferay.maven.plugin。版本为6.2.4。。。

    2 回复  |  直到 9 年前
        1
  •  1
  •   Pierpaolo Cira    9 年前

    感谢您的评论和回复。

    我想我找到了一个解决方案,我想把它分享给未来的读者…因为我没有在网上找到它…或者更好的是,它在网上,但与这个问题无关。

    我最初的(Maven)模块名称是(由于项目原始规范): client-external-customer-portlet ,因此产生的WAR是 client-external-customer-portlet-0.1-SNAPSHOT.war Someone on the web 建议从portlet名称中删除破折号 - 以避免众所周知的Springmvcportlet错误。 我解决了我的问题,只需将相同的建议应用于我的portlet名称:现在是 clientExternalCustomerPortlet 由此产生的WAR是 clientExternalCustomerPortlet-0.1-SNAPSHOT.war 这样,一切都很好。

    我认为LR部署系统在部署过程中也使用破折号作为特殊分隔符。

    顺便说一下,我在部署 client-external-theme-0.1-SNAPSHOT.war ,日志显示上下文名称仅为 client-ext .

    我希望它能有用。

        2
  •  0
  •   Iñigo Boyano Ferrer    9 年前

    问题是,在您的情况下,liferay从版本6.2.5开始,您试图在liferay上部署比默认版本旧的0.1版本。

    我会尝试在没有版本的情况下部署portlet,只需从名称portlet中删除。

    Portletname-portlet.war
    

    在这种情况下,liferay采用了类似于portlet版本的版本6.2.5,并成功地部署了它。