Gradle mlReloadModules 未加载 REST 扩展

Gradle mlReloadModules not loading REST extensions

MarkLogic 版本 - 9.0-6.2 DHF 版本:2.0.6(id 'com.marklogic.ml-data-hub' 版本 '2.0.6')

尝试通过 'gradle mlReloadModules' 命令部署更改,但发现 REST 扩展 billing.sjs 未部署。此文件 (billing.sjs) 保存在 \data-hub\EODH\plugins\entities\billing\harmonize\REST\services,我从 \data-hub\EODH 目录

执行了几次 'gradle mlReloadmodules' 命令

我去了 data-hub-MODULES db 并浏览了 /marklogic.rest.resource/billing/assets/resource.sjs,发现旧代码仍然存在。

我在重新加载模块之前也做了 'rm .tmp/user-modules-deploy-timestamps.properties'。

下面是 'gradle mlReloadmodules -d' 命令

输出的选定部分

23:17:34.455 [DEBUG] [com.marklogic.com.marklogic.client.ext.modulesloader.impl.EntityDefModulesFinder] Finding modules in baseDir: G:\data-hub\EODH\plugins\entities\billing 23:17:34.455 [DEBUG] [com.marklogic.com.marklogic.client.ext.modulesloader.impl.EntityDefModulesFinder] Finding modules in baseDir, which was modified to be: file:/G:/data-hub/EODH/plugins/entities/billing/ 23:17:34.455 [DEBUG] [com.marklogic.com.marklogic.client.ext.modulesloader.impl.EntityDefModulesFinder] Finding Entity Def at path: file:/G:/data-hub/EODH/plugins/entities/billing/.entity.json 23:17:34.455 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Looking for matching resources in directory tree [G:\data-hub\EODH\plugins\entities\billing] 23:17:34.456 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Searching directory [G:\data-hub\EODH\plugins\entities\billing] for files matching pattern [G:/data-hub/EODH/plugins/entities/billing/.entity.json] 23:17:34.456 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Resolved location pattern [file:/G:/data-hub/EODH/plugins/entities/billing/.entity.json] to resources [] 23:17:34.457 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader] Loading modules from base directory: G:\data-hub\EODH\plugins\entities\billing\harmonize\REST 23:17:34.470 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.PropertiesModuleManager] Loading properties from: G:\data-hub\EODH.tmp\user-modules-deploy-timestamps.properties 23:17:34.470 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] Finding modules in baseDir: G:\data-hub\EODH\plugins\entities\billing\harmonize\REST 23:17:34.470 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] Finding modules in baseDir, which was modified to be: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/ 23:17:34.470 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] Finding namespaces at path: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/namespaces/.* 23:17:34.471 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Looking for matching resources in directory tree [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\namespaces] 23:17:34.471 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Skipping [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\namespaces] because it does not exist 23:17:34.471 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Resolved location pattern [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/namespaces/.] to resources [] 23:17:34.471 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] Finding options modules at path: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/options/. 23:17:34.471 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Looking for matching resources in directory tree [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\options] 23:17:34.471 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Searching directory [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\options] for files matching pattern [G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/options/.] 23:17:34.472 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Resolved location pattern [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/options/.] to resources [file [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\options\BillingInfoList.json]] 23:17:34.472 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] Finding REST properties file at path: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/rest-properties.json 23:17:34.472 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] Finding service modules at path: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/.xq 23:17:34.472 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Looking for matching resources in directory tree [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services] 23:17:34.472 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Searching directory [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services] for files matching pattern [G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/.xq] 23:17:34.473 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Resolved location pattern [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/.xq] to resources [] 23:17:34.473 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] Finding service modules at path: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/.sjs 23:17:34.473 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Looking for matching resources in directory tree [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services] 23:17:34.473 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Searching directory [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services] for files matching pattern [G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/.sjs] 23:17:34.474 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Resolved location pattern [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/.sjs] to resources [file [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services\billing.sjs], file [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services\billing360.sjs], file [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services\billingReg.sjs]] 23:17:34.474 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] Finding transform modules at path: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/transforms/.xq* 23:17:34.474 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Looking for matching resources in directory tree [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\transforms] 23:17:34.474 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Skipping [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\transforms] because it does not exist 23:17:34.474 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Resolved location pattern [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/transforms/.xq] to resources [] 23:17:34.474 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] Finding transform modules at path: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/transforms/.xsl 23:17:34.474 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Looking for matching resources in directory tree [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\transforms] 23:17:34.475 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Skipping [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\transforms] because it does not exist 23:17:34.475 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Resolved location pattern [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/transforms/.xsl] to resources [] 23:17:34.475 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] Finding transform modules at path: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/transforms/.sjs 23:17:34.475 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Looking for matching resources in directory tree [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\transforms] 23:17:34.475 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Skipping [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\transforms] because it does not exist 23:17:34.475 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] Resolved location pattern [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/transforms/.sjs] to resources [] 23:17:34.475 [INFO] [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader] Loading BillingInfoList query options from file BillingInfoList.json 23:17:34.489 [DEBUG] [com.marklogic.client.impl.OkHttpServices] Putting /config/query/BillingInfoList 23:17:34.529 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.DefaultExtensionMetadataProvider] Unable to build metadata from resource file: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/billing.sjs; cause: G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services\metadata\billing.xml (The system cannot find the file specified) 23:17:34.530 [INFO] [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader] Loading billing resource extension from file billing.sjs 23:17:34.540 [INFO] [com.marklogic.client.impl.ResourceExtensionsImpl] Writing resource services source for billing 23:17:34.540 [DEBUG] [com.marklogic.client.impl.OkHttpServices] Putting config/resources/billing 23:17:34.552 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.DefaultExtensionMetadataProvider] Unable to build metadata from resource file: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/billing360.sjs; cause: G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services\metadata\billing360.xml (The system cannot find the file specified) 23:17:34.553 [INFO] [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader] Loading billing360 resource extension from file billing360.sjs 23:17:34.560 [INFO] [com.marklogic.client.impl.ResourceExtensionsImpl] Writing resource services source for billing360 23:17:34.560 [DEBUG] [com.marklogic.client.impl.OkHttpServices] Putting config/resources/billing360 23:17:34.576 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.DefaultExtensionMetadataProvider] Unable to build metadata from resource file: file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/billingReg.sjs; cause: G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services\metadata\billingReg.xml (The system cannot find the file specified) 23:17:34.577 [INFO] [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader] Loading billingReg resource extension from file billingReg.sjs 23:17:34.583 [INFO] [com.marklogic.client.impl.ResourceExtensionsImpl] Writing resource services source for billingReg 23:17:34.583 [DEBUG] [com.marklogic.client.impl.OkHttpServices] Putting config/resources/billingReg 23:17:34.609 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader] shutdownTaskExecutorAfterLoadingModules is set to false, so not shutting down taskExecutor 23:17:34.609 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader] Finished loading modules from base directory: G:\data-hub\EODH\plugins\entities\billing\harmonize\REST

Gradle 任务名称不区分大小写。 属性 名称区分大小写。文件路径的区分大小写 - 这可能是该票证中的问题 - 由 OS.

决定

一件事是验证 directories in your deployment path are set to case sensitive. Linux Tools run by Windows (Windows Subsystem for Linux - Bash shell) will create folders that are case sensitive. This default behavior can be changed by editing the wsl.conf

的 none

您可以使用以下命令检查区分大小写:

fsutil.exe file queryCaseSensitiveInfo C:\folder

区分大小写是按目录设置的,不影响子目录,因此可能需要检查文件路径中的每个目录。

也有可能您遇到了 4.0.x 代码 DHF does not deploy REST extensions 中的已知错误。它已在 4.1.0 及更高版本中得到修复。

如果这是您遇到的问题,建议您使用最新版本的 Data Hub Framework,因为有很多错误修复和对部署过程的改进。

如果此时这不是一个选项,请在问题评论中详细说明解决方法:

https://github.com/marklogic/marklogic-data-hub/issues/1574#issuecomment-441785549

我们使用的是 2.0.3 版本。我注意到小写 'mlreloadmodules' 不工作,但混合大小写 'mlReloadModules' 工作正常。我们的 MarkLogic 部署在 windows(社区版)上,而我是来自 powershell 的 运行,所以我们之前没有看到区分大小写的问题,所以这对我们来说是一个意外的行为。如果我发现任何新内容,我会密切关注部署和更新。

谢谢大家的回复。