如何防止这种情况出现在日志中:com.liferay.portal.kernel.exception.OldServiceComponentException: Build namespace Test has build number 23 which is newer than 3 in server level using XML file.
亲切的问候, 基兰。
答案 0 :(得分:-1)
这是Service Builder问题。
每个Service Builder模块都有一个service.xml
,其中定义了<namespace></namespace>
(在您的情况下为Test
)。共享此名称空间的每个模块都必须使用相同的内部版本号进行部署,该内部版本号在src/main/resources/service.properties
中定义,并且每次使用Service Builder重建模块时,都将增加一个内部版本号。
浏览您的Service Builder模块,并检查每个命名空间的所有service.properties文件是否都具有相同的build.number
。
从提供的日志中猜测,一个模块的内部版本号为23,而您要部署的模块的内部版本号为3,因此将Test
命名空间的所有内部版本号设置为23应该可以解决问题。
为防止再次发生这种情况,请确保仅从项目的顶部目录而不是从模块目录中运行服务生成器。
通过这种方式,Service Builder将重建所有Service Builder模块,并因此将其所有内部版本号增加一个,因此它们保持不变。
答案 1 :(得分:-1)
@quatax的解释是正确的,但我会提出解决方案和预防措施。
预防:
解决方案:
修复方法如上所述,可以增加文件中的数量以满足检查的要求。
或者,您可以调整保存版本信息的数据库条目。这仅用于本地DEV数据库场景。