如何将本地 Spring Cloud 任务项目 jar 文件注册到 Spring Cloud 数据流仪表板

Posted

技术标签:

【中文标题】如何将本地 Spring Cloud 任务项目 jar 文件注册到 Spring Cloud 数据流仪表板【英文标题】:How to Register Local Spring cloud task project jar file to spring cloud data flow dashboard 【发布时间】:2018-06-14 02:36:43 【问题描述】:

我正在尝试将我本地的 Spring Cloud 任务 jar 文件注册到 Spring Cloud 任务数据流图形界面中。注册应用程序本地路径时未识别并且注册按钮未启用。我的 jar 文件位置是 C:\STS-WORK_SPACE\SPRING-BATCH\SCDFBatch\target\SCDFBatch-0.0.1-SNAPSHOT.jar,我在仪表板中提供的路径是 file:///C:/STS-WORK_SPACE/SPRING-BATCH/SCDFBatch/target/SCDFBatch-0.0.1-SNAPSHOT.jar。如果我在这里错了,请纠正我。我需要有人在这里帮助。

【问题讨论】:

【参考方案1】:

这个问题有点老了,但是你可以用 SCDF 2.4.0 做到这一点:

    从这里获取 docker-compose:https://dataflow.spring.io/docs/installation/local/docker/ 自定义它以挂载您的本地 .m2 文件夹,如下所述:https://dataflow.spring.io/docs/installation/local/docker-customize/ 部分 Maven Local Repository Mounting 启动 Docker Compose

然后当 SCDF 启动时,您需要注册您的工件,例如

如果您有一个 Maven 项目,请为它执行 mvn clean install,然后在您的 .m2 文件夹中,您应该有工件(jar 和 pom)。因此,在注册之前先验证它是否存在。

【讨论】:

没有这样的部分。 Maven Local Repository Mounting【参考方案2】:

请查看与您的问题相关的 spring 数据流文档。

docs.spring.io/spring-cloud-dataflow/docs/current/reference/html/getting-started-deploying-spring-cloud-dataflow.html#getting-started-maven-configuration

根据 spring 文档,maven localRepository 默认设置为 $user.home/.m2/repository/。

因此不要在仪表板中指定工件的完整路径,而是按以下格式指定 maven 资源详细信息 maven://group:artifact:version。然后 spring 数据流服务器会自动从你的本地 maven repo 中选择它。

【讨论】:

以上是关于如何将本地 Spring Cloud 任务项目 jar 文件注册到 Spring Cloud 数据流仪表板的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Spring Batch Cron 作业迁移到 Spring Cloud 任务

在本地禁用 Spring Cloud Kubernetes

如何使用 rest-api 执行 Spring Cloud 任务

如何在本地使用 spring-cloud-starter-aws 运行应用程序?

Spring Cloud Eureka服务注册源码分析

Spring Cloud Data Flow 的自定义任务中缺少参数