我正在尝试构建一个包含以下组件的混合项目:
1:Spring Boot
2:rSocket
3:gRPC

它是一个多容器应用程序,其中容器1(Spring和rSocket,Java)通过Spring-rSocket与容器2(rSocker,Spring,gRPC,Java)交互。然后,它通过rSocket-RPC将信息传递到容器3(gRPC,Python)。

从过去3天开始尝试,但是由于依赖关系中的冲突而能够设置Maven项目,从而导致 netty调用失败。

开始设置Gradle,与maven相比,我还算是新手。完成以下脚本执行原型(prototype)任务:

protobuf {
    protoc {
        artifact = 'com.google.protobuf:protoc:3.6.1'
    }
    generatedFilesBaseDir = "${projectDir}/build/generated-sources/"

    plugins {
            rsocketRpc {
            artifact = 'io.rsocket.rpc:rsocket-rpc-protobuf:0.2.17'
        }
    }
    generateProtoTasks {
        all()*.plugins {
            rsocketRpc {}
        }
    }
}

然后在设置中执行pluginManagement.gradle
pluginManagement {
    repositories {
        maven { url 'https://repo.spring.io/snapshot' }
        maven { url 'https://repo.spring.io/milestone' }
        maven { url 'https://repository.jboss.org/nexus/content/repositories/public/' }
//        maven { url 'https://jcenter.bintray.com/' }
        jcenter()
        maven { url 'https://dl.bintray.com/netifi/netifi-oss/' }
        gradlePluginPortal()
    }
    resolutionStrategy {
        eachPlugin {
            if (requested.id.id == 'org.springframework.boot') {
                useModule("org.springframework.boot:spring-boot-gradle-plugin:${requested.version}")
            }
        }
    }
}

但是,构建始终会失败,提示无法找到插件:
AzureAD+DebasishKanhar@DESKTOP-COEQQIB MINGW64 /d/Projects/Projects/Freelancing/Elysium Analytics/sia/graphdb/snowflake-graphdb/graphextractor_gradle (custom-graphdb-snowflake)
$ gradle build
> Task :generateProto FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':generateProto'.
> Could not resolve all files for configuration ':protobufToolsLocator_rsocketRpc'.
   > Could not find rsocket-rpc-protobuf-0.2.17-windows-x86_64.exe (io.rsocket.rpc:rsocket-rpc-protobuf:0.2.17).
     Searched in the following locations:
         https://repo.maven.apache.org/maven2/io/rsocket/rpc/rsocket-rpc-protobuf/0.2.17/rsocket-rpc-protobuf-0.2.17-windows-x86_64.exe


看起来好像没有在默认maven存储库中找到该插件,这是正确的,因为我知道协议(protocol)插件托管在 jcenter 中。但是,如果看到的话,我已经在 pluginManagement 中添加了URL,但是为什么我的构建脚本无法捕获jcenter存储库?

任何帮助将非常感激 :-)

最佳答案

我自己在寻找解决方案,找到了答案。
简而言之,看起来目前没有Windows构建,只有linux。看到
https://repo.maven.apache.org/maven2/io/rsocket/rpc/rsocket-rpc-protobuf/0.2.17/
因此,您将需要在基于Linux的操作系统(Ubuntu,Mac等)或grpc proto而不是rsocket上进行开发。
真可惜,希望他们在某些时候打包了Windows版本

关于gradle - 带Gradle的RSocket RPC(Windows)二进制文件(失败),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62365218/

10-09 03:39