如何防止这种情况出现在日志:com.liferay.portal.kernel.exception.OldServiceComponentException: Build namespace Test has build number 23 which is newer than 3 in server level using XML file.
亲切的问候,基兰。
这是一个服务构建问题。
每个服务构建模块,其中service.xml
定义,你的情况<namespace></namespace>
一个Test
。每个模块都共享这个命名空间必须具有相同的版本号,这是在src/main/resources/service.properties
定义,将每次与服务构建重建模块在一个增加部署。
通过你的服务构建模块去检查,如果每个命名空间的所有service.properties文件具有相同的build.number
。
从您提供的日志猜测,一个模块的版本号23和你想部署一个具有内部版本号3,所以将所有建设Test
命名空间的号码23应解决这个问题。
为了防止这种情况再次发生,确保你只从你的项目的顶层目录运行服务构建器,而不是从一个模块的目录中。
通过这种方式,服务构建将重建所有的服务构建模块,从而增加他们的所有版本号的一个,所以他们保持不变。
@quatax的解释是正确的,但我会解决和预防争论。
预防:
解:
的修复将上方提到增加文件的数量,以满足该检查。
或者,你可以调整持有的版本信息的数据库条目。这仅适用于本地开发的数据库场景。