Gradle mlReloadModules无法加载REST扩展

时间:2019-03-19 03:54:36

标签: marklogic marklogic-9 marklogic-dhf

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]   在baseDir中查找模块:G:\ data-hub \ EODH \ plugins \ entities \ billing   23:17:34.455 [DEBUG]   [com.marklogic.com.marklogic.client.ext.modulesloader.impl.EntityDefModulesFinder]   在baseDir中查找模块,将其修改为:   文件:/ G:/ data-hub / EODH / plugins / entities / billing / 23:17:34.455 [DEBUG]   [com.marklogic.com.marklogic.client.ext.modulesloader.impl.EntityDefModulesFinder]   在路径中查找实体Def:   文件:/ G:/ data-hub / EODH / plugins / entities / billing / .entity.json   23:17:34.455 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   在目录树中寻找匹配的资源   [G:\ data-hub \ EODH \ plugins \ entities \ billing] 23:17:34.456 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   在目录[G:\ data-hub \ EODH \ plugins \ entities \ billing]中搜索   文件匹配模式   [G:/ data-hub / EODH / plugins / entities / billing / .entity.json] 23:17:34.456   [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   解决的位置模式   [文件:/ G:/ data-hub / EODH / plugins / entities / billing / .entity.json]至   资源[] 23:17:34.457 [DEBUG]   [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader]   从基本目录加载模块:   G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST 23:17:34.470   [DEBUG]   [com.marklogic.client.ext.modulesloader.impl.PropertiesModuleManager]   从以下位置加载属性:   G:\ data-hub \ EODH.tmp \ user-modules-deploy-timestamps.properties   23:17:34.470 [DEBUG]   [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder]   在baseDir中查找模块:   G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST 23:17:34.470   [DEBUG]   [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder]   在baseDir中查找模块,将其修改为:   文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST /   23:17:34.470 [DEBUG]   [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder]   在路径中找到名称空间:   文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / namespaces / 。*   23:17:34.471 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   在目录树中寻找匹配的资源   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \命名空间]   23:17:34.471 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   跳过   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \命名空间]   因为它不存在23:17:34.471 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   解决的位置模式   [文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / namespaces / ]   资源[] 23:17:34.471 [DEBUG]   [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder]   在路径中找到选项模块:   文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / options /   23:17:34.471 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   在目录树中寻找匹配的资源   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ options]   23:17:34.471 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   搜索目录   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmize \ REST \ options]用于   文件匹配模式   [G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / options / 。]   23:17:34.472 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   解决的位置模式   [文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / options / ]   到资源[文件   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ options \ BillingInfoList.json]]   23:17:34.472 [DEBUG]   [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder]   在路径中查找REST属性文件:   文件:/ G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/rest-properties.json 23:17:34.472 [DEBUG]   [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder]   在路径中找到服务模块:   文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / services / .xq   23:17:34.472 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   在目录树中寻找匹配的资源   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ services]   23:17:34.472 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   搜索目录   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ services]   用于文件匹配模式   [G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / services / .xq ]   23:17:34.473 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   解决的位置模式   [文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / services / .xq ]   资源[] 23:17:34.473 [DEBUG]   [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder]   在路径中找到服务模块:   文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / services / .sjs   23:17:34.473 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   在目录树中寻找匹配的资源   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ services]   23:17:34.473 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   搜索目录   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ services]   用于文件匹配模式   [G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / services / .sjs]   23:17:34.474 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   解决的位置模式   [文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / services / .sjs]   到资源[文件   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ services \ billing.sjs],   文件   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ services \ billing360.sjs],   文件   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ services \ billingReg.sjs]]   23:17:34.474 [DEBUG]   [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder]   在路径中查找转换模块:   文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / transforms / .xq *   23:17:34.474 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   在目录树中寻找匹配的资源   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ transforms]   23:17:34.474 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   跳过   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ transforms]   因为它不存在23:17:34.474 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   解决的位置模式   [文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / transforms / .xq ]   资源[] 23:17:34.474 [DEBUG]   [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder]   在路径中查找转换模块:   文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / transforms / .xsl   23:17:34.474 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   在目录树中寻找匹配的资源   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ transforms]   23:17:34.475 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   跳过   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ transforms]   因为它不存在23:17:34.475 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   解决的位置模式   [文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / transforms / .xsl ]   资源[] 23:17:34.475 [DEBUG]   [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder]   在路径中查找转换模块:   文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / transforms / .sjs   23:17:34.475 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   在目录树中寻找匹配的资源   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ transforms]   23:17:34.475 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   跳过   [G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ transforms]   因为它不存在23:17:34.475 [DEBUG]   [org.springframework.core.io.support.PathMatchingResourcePatternResolver]   解决的位置模式   [文件:/ G:/ data-hub / EODH / plugins / entities / billing / harmonize / REST / transforms / .sjs]   资源[] 23:17:34.475 [INFO]   [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader]   从文件BillingInfoList.json加载BillingInfoList查询选项   23:17:34.489 [DEBUG] [com.marklogic.client.impl.OkHttpServices]   放置/ config / query / BillingInfoList 23:17:34.529 [DEBUG]   [com.marklogic.client.ext.modulesloader.impl.DefaultExtensionMetadataProvider]   无法从资源文件构建元数据:   文件:/ G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/billing.sjs;   原因:   G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ services \ metadata \ billing.xml   (系统找不到指定的文件)23:17:34.530 [INFO]   [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader]   从文件billing.sjs加载计费资源扩展名23:17:34.540   [INFO] [com.marklogic.client.impl.ResourceExtensionsImpl]编写   计费资源服务来源23:17:34.540 [DEBUG]   [com.marklogic.client.impl.OkHttpServices]放置   config / resources / billing 23:17:34.552 [DEBUG]   [com.marklogic.client.ext.modulesloader.impl.DefaultExtensionMetadataProvider]   无法从资源文件构建元数据:   文件:/ G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/billing360.sjs;   原因:   G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ services \ metadata \ billing360.xml   (系统找不到指定的文件)23:17:34.553 [INFO]   [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader]   从文件billing360.sjs加载billing360资源扩展   23:17:34.560 [INFO] [com.marklogic.client.impl.ResourceExtensionsImpl]   为billing360编写资源服务源23:17:34.560 [DEBUG]   [com.marklogic.client.impl.OkHttpServices]放置   config / resources / billing360 23:17:34.576 [DEBUG]   [com.marklogic.client.ext.modulesloader.impl.DefaultExtensionMetadataProvider]   无法从资源文件构建元数据:   文件:/ G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/billingReg.sjs;   原因:   G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmonize \ REST \ services \ metadata \ billingReg.xml   (系统找不到指定的文件)23:17:34.577 [INFO]   [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader]   从文件billingReg.sjs加载billingReg资源扩展   23:17:34.583 [INFO] [com.marklogic.client.impl.ResourceExtensionsImpl]   为记账编写资源服务源Reg 23:17:34.583 [DEBUG]   [com.marklogic.client.impl.OkHttpServices]放置   config / resources / billingReg 23:17:34.609 [DEBUG]   [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader]   shutdownTaskExecutorAfterLoadingModules设置为false,因此不能   关闭任务执行器23:17:34.609 [DEBUG]   [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader]   从基本目录完成加载模块:   G:\ data-hub \ EODH \ plugins \ entities \ billing \ harmize \ REST

2 个答案:

答案 0 :(得分:1)

Gradle任务名称不区分大小写。属性名称区分大小写。文件路径是否区分大小写(可能是该票据中的问题)由操作系统决定。

一件事是验证directories in your deployment path are set to case sensitive的所有内容。 Windows运行的Linux工具(Linux的Windows子系统-Bash shell)将创建区分大小写的文件夹。可以通过编辑wsl.conf

来更改此默认行为。

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

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

答案 1 :(得分:0)

我们正在使用2.0.3版。我注意到小写的'mlreloadmodules'无法正常工作,但混合的大小写'mlReloadModules'可以正常工作。我们的MarkLogic部署在Windows(社区版)上,并且我正在Powershell上运行,因此我们之前没有看到区分大小写的问题,因此这对我们来说是令人惊讶的行为。如果发现新内容,我将密切注意部署并进行更新。

谢谢大家的回答。