LogNet / grpc-spring-boot-starter

Spring Boot starter module for gRPC framework.
Apache License 2.0
2.23k stars 433 forks source link

Error: No access hint found for import selector: NettyServerBuilderSelector #226

Closed xmlking closed 3 years ago

xmlking commented 3 years ago

I am getting No access hint found for import selector: org.lognet.springboot.grpc.autoconfigure.NettyServerBuilderSelector error even after following grpc-spring-boot-starter-native-demo

How to reproduce: clone https://github.com/xmlking/micro-apps

update apps/entity-service/build.gradle.kts as below and run gradle :apps:entity-service:bootRun

plugins {
    id("org.springframework.boot")
    id("io.spring.dependency-management")
    kotlin("plugin.spring")
    id("org.springframework.experimental.aot")
    id("org.graalvm.buildtools.native")
}

val slf4jVersion = libs.versions.slf4j.get()

dependencies {
    implementation(project(":libs:model"))
    // implementation("org.springframework.fu:spring-fu-kofu:0.4.5-SNAPSHOT")
    implementation(libs.bundles.spring.basic)

    // Optional: if you also want rsocket
    implementation(libs.spring.boot.starter.rsocket)

    // Optional: for redis
    implementation("org.springframework.boot:spring-boot-starter-data-redis")

    // Optional: if you also want to add some gRPC services
    implementation(project(":libs:proto"))
    implementation(libs.bundles.spring.grpc)
    {
        exclude( group = "io.netty", module ="netty-tcnative-boringssl-static")
        exclude( group = "io.grpc", module ="grpc-netty-shaded")
    }
    implementation(libs.grpc.netty)

    // projectreactor
    implementation(libs.spring.boot.reactor.kotlin.extensions)
    testImplementation(libs.spring.boot.reactor.test)

    testImplementation(testFixtures(project(":libs:test")))
    testImplementation(testFixtures(project(":libs:model")))
    testImplementation(libs.spring.boot.starter.test) {
        exclude(module = "mockito-core")
    }
    testImplementation(libs.spring.boot.mockk.test)
    testImplementation(libs.kotest.assertions.json.jvm)
    testImplementation(libs.kotest.extensions.spring)
}
 gradle :apps:entity-service:bootRun
Type-safe dependency accessors is an incubating feature.
Type-safe project accessors is an incubating feature.

> Configure project :
Version: 1.6.5-SNAPSHOT,  Branch: develop, isCI: false
SpotlessChangelog Version Next: 1.7.0-SNAPSHOT  Last: 1.6.4

> Task :apps:entity-service:generateAot
WARNING: Unable to find jar '/Users/schintha/Developer/Work/java/micro-apps/apps/entity-service/build/classes/java/main' whilst scanning filesystem

> Task :apps:entity-service:generateAot FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':apps:entity-service:generateAot'.
> No access hint found for import selector: org.lognet.springboot.grpc.autoconfigure.NettyServerBuilderSelector

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 6s
15 actionable tasks: 3 executed, 1 from cache, 11 up-to-date
jvmlet commented 3 years ago
springAot {
    failOnMissingSelectorHint = false
}

but spring-native is not supported yet, see #199

jvmlet commented 3 years ago

Closing in favor if #199