我目前在Liferay 6.2(使用Tomcat)上,并且可以如下在Liferay钩子项目的maven liferay-maven-plugin
中配置pom.xml
,以便预处理我的钩子WAR以进行热部署(使用[ C0]插件目标)。
direct-deploy
我现在正在尝试将此钩子迁移到Liferay 7.2.1 CE]。目前尚无计划将其重新设计为OSGI模块,即将其继续打包为WAR。那么,使用Liferay 7.2.1进行新的直接部署配置会是什么样子?具体来说:
a)我可以继续使用相同的Maven插件吗?我从<plugin>
<groupId>com.liferay.maven.plugins</groupId>
<artifactId>liferay-maven-plugin</artifactId>
<version>6.2.1</version>
<executions>
<execution>
<id>pre-process-war</id>
<phase>package</phase>
<goals>
<goal>direct-deploy</goal>
</goals>
</execution>
</executions>
<configuration>
<appServerDeployDir>${project.basedir}/target/liferay-pre-process</appServerDeployDir>
<liferayVersion>6.2.1</liferayVersion>
<pluginType>hook</pluginType>
<unpackWar>false</unpackWar>
</configuration>
</plugin>
中看到liferay-maven-plugin已被“删除”,但是我在其他帮助页面上的理解是,此插件不应仅与更新的OSGI模块样式的插件一起使用(后者可提供更多功能)对我来说很有意义。
b)如果我可以继续使用相同的Maven插件,那么该插件的哪个版本适用于7.2.1?另外,我应该在此处使用哪个doc值?我尝试了一堆组合,但没有一个起作用。
例如,我首先尝试使用liferayVersion
7.2.1,但是在运行直接部署目标时构建失败,因为Maven在该版本中找不到liferayVersion
工件。因此,我尝试了来自Maven Central的工件的最新版本,即com.liferay.portal:portal-web
,作为我的7.0.2。但是这次构建再次失败,因为找不到对应的liferayVersion
版本。但是,没有7.x版本的门户网站服务,这是有道理的,因为它已被门户网站内核工件所取代。不指定com.liferay.portal:portal-service
也不起作用。
我目前在Liferay 6.2(使用Tomcat)上,并且可以如下在Liferay钩子项目的maven pom.xml中配置liferay-maven-plugin,以便为热部署对钩子WAR进行预处理。 ..
[我在Liferay论坛上收到了一个答复,表明Liferay 7.x中确实删除了liferay-maven-plugin,因此剩下的唯一选择是将WAR复制到Liferay的deploy文件夹并让其执行-在部署时进行处理(与使用Maven插件在构建时进行处理相反)。鉴于目前缺乏替代方案,这似乎是前进的唯一途径(而且行之有效)。