错误的 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
。
希望对你有用
我使用 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
。
希望对你有用