【问题标题】:Jar not found error while while trying to deploy SCDF Stream尝试部署 SCDF Stream 时 Jar 未找到错误
【发布时间】:2018-04-20 06:20:31
【问题描述】:

我先注册了sink如下:

app register --name mysink --type sink --uri file:///Users/swatikaushik/Downloads/kafkaStreamDemo/target/kafkaStreamDemo-0.0.1-SNAPSHOT.jar

然后我创建了一个流

stream create --definition “:myKafkaTopic > mysink" --name myStreamName --deploy

我收到了错误

Command failed org.springframework.cloud.dataflow.rest.client.DataFlowClientException: File 
/Users/swatikaushik/Downloads/kafkaStreamDemo/target/kafkaStreamDemo-0.0.1-SNAPSHOT.jar must exist

当罐子存在时!!

【问题讨论】:

  • 能否请您包括完整的堆栈跟踪?您还可以检查您尝试部署的 JAR 文件的权限吗?

标签: spring spring-cloud-stream spring-cloud-dataflow


【解决方案1】:

我遵循了 maven 本地存储库安装方法,使用 docker compose,希望这会有所帮助:

马文:

mvn clean install

设置你的环境变量:

$Env:DATAFLOW_VERSION="2.5.1.RELEASE"
$Env:SKIPPER_VERSION="2.4.1.RELEASE"
$Env:HOST_MOUNT_PATH="C:\Users\yourUserName\.m2"
$Env:DOCKER_MOUNT_PATH="/root/.m2/"

重启/启动容器:

docker-compose down 
docker-compose up

注册您的应用:

app register --type sink--name mysink --uri maven://groupId:artifactId:version

Register Doc

【讨论】:

    【解决方案2】:

    文件权限是一回事 - 请按照建议仔细检查。

    其他一些想法:

    1) 运行app info sink:mysink。如果 JAR 确实可用,它应该返回应用程序的启动/白名单属性列表。

    2) 独立运行 Jar。确保它实际上是通过java -jar.... 开始的。

    3) 流定义似乎包含一个特殊字符(“:myKafkaTopic > mysink" 而不是":myKafkaTopic > mysink" - 注意“ 字符);它会在 Shell 中失败,但看起来您可以部署它。完整的堆栈跟踪会有所帮助。

    【讨论】:

      【解决方案3】:

      我们刚刚遇到了与上述相同的错误。 我们已将 jar 文件的文件夹挂载到船长。

      解决方案是,我们也必须将 jar 安装到数据流服务器 docker 容器中。

      Skipper 正在部署它,但数据流服务器注册了它。

      【讨论】:

        猜你喜欢
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多