Jim*_*m C 3 gradle kotlin grpc protoc micronaut
我想使用 protoc-gen-grpc-kotlin 中的protoc-gen-grpc-kotlin -1.0.0并且我得到了
\nExecution failed for task \':generateProto\'.\n> Could not resolve all files for configuration \':protobufToolsLocator_grpckt\'.\n > Could not find protoc-gen-grpc-kotlin-1.0.0-windows-x86_64.exe (io.grpc:protoc-gen-grpc-kotlin:1.0.0).\n Searched in the following locations:\n https://repo.maven.apache.org/maven2/io/grpc/protoc-gen-grpc-kotlin/1.0.0/protoc-gen-grpc-kotlin-1.0.0-windows-x86_64.exe\n\nPossible solution:\n - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html\nRun Code Online (Sandbox Code Playgroud)\n整个堆栈跟踪是
\nC:\\_d\\toLearn\\demo-grpc-jaeger>gradle clean build --stacktrace\n> Task :generateProto FAILED\n\nFAILURE: Build failed with an exception.\n\n* What went wrong:\nExecution failed for task \':generateProto\'.\n> Could not resolve all files for configuration \':protobufToolsLocator_grpckt\'.\n > Could not find protoc-gen-grpc-kotlin-1.0.0-windows-x86_64.exe (io.grpc:protoc-gen-grpc-kotlin:1.0.0).\n Searched in the following locations:\n https://repo.maven.apache.org/maven2/io/grpc/protoc-gen-grpc-kotlin/1.0.0/protoc-gen-grpc-kotlin-1.0.0-windows-x86_64.exe\n\n* Try:\nRun with --info or --debug option to get more log output. Run with --scan to get full insights.\n\n* Exception is:\norg.gradle.api.tasks.TaskExecutionException: Execution failed for task \':generateProto\'.\n at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:38)\n at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)\n at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)\n at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)\n at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)\n at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)\n at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)\n at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)\n at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)\n at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)\n at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)\n at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)\n at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)\n at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)\n at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)\n at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)\n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)\n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)\n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)\n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)\n at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)\n at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)\n at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)\nCaused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration \':protobufToolsLocator_grpckt\'.\n at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:1282)\n at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$1700(DefaultConfiguration.java:139)\n at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.visitArtifacts(DefaultConfiguration.java:1259)\n at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.visitContents(DefaultConfiguration.java:1252)\n at org.gradle.api.internal.file.AbstractFileCollection.visitStructure(AbstractFileCollection.java:326)\n at org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection.lambda$calculateFinalizedValue$0(DefaultConfigurableFileCollection.java:249)\n at org.gradle.api.internal.file.collections.UnpackingVisitor.add(UnpackingVisitor.java:61)\n at org.gradle.api.internal.file.collections.UnpackingVisitor.add(UnpackingVisitor.java:94)\n at \n \n ...\n \n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)\n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)\n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)\n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)\n at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)\n at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)\n at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)\nCaused by: org.gradle.internal.resolve.ArtifactNotFoundException: Could not find protoc-gen-grpc-kotlin-1.0.0-windows-x86_64.exe (io.grpc:protoc-gen-grpc-kotlin:1.0.0).\nSearched in the following locations:\n https://repo.maven.apache.org/maven2/io/grpc/protoc-gen-grpc-kotlin/1.0.0/protoc-gen-grpc-kotlin-1.0.0-windows-x86_64.exe\n at org.gradle.internal.resolve.result.DefaultBuildableArtifactResolveResult.notFound(DefaultBuildableArtifactResolveResult.java:28)\n at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$LocateInCacheRepositoryAccess.resolveArtifactFromCache(CachingModuleComponentRepository.java:345)\n at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$LocateInCacheRepositoryAccess.resolveArtifact(CachingModuleComponentRepository.java:297)\n at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.lambda$resolveArtifact$15(ErrorHandlingModuleComponentRepository.java:181)\n at \n \n ...\n \n at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)\n at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)\n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)\n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)\n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)\n at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)\n at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)\n at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)\n at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)\n at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)\n\n\n* Get more help at https://help.gradle.org\n\nBUILD FAILED in 2s\n4 actionable tasks: 4 executed\n\nC:\\_d\\toLearn\\demo-grpc-jaeger> \nRun Code Online (Sandbox Code Playgroud)\n如果它添加了一些有用的信息,如果我显着降级版本,则会导致不同的错误。
\n使用实现(“io.grpc:protoc-gen-grpc-kotlin:0.1.2”)
\nC:\\_d\\toLearn\\demo-grpc-jaeger\\build\\tmp\\kapt3\\stubs\\main\\com\\tolearn\\DemoGrpcJaegerServiceGrpcKt.java:35: error: incompatible types: NonExistentClass cannot be converted to Annotation\n @error.NonExistentClass()\nRun Code Online (Sandbox Code Playgroud)\n它将错误指向自动生成的存根
\n\n这是完整的 build.gradle
\nplugins {\n id("org.jetbrains.kotlin.jvm") version "1.4.10"\n id("org.jetbrains.kotlin.kapt") version "1.4.10"\n id("org.jetbrains.kotlin.plugin.allopen") version "1.4.10"\n id("com.github.johnrengelman.shadow") version "6.1.0"\n id("io.micronaut.application") version "1.2.0"\n id("com.google.protobuf") version "0.8.13"\n}\n\nversion = "0.1"\ngroup = "com.tolearn"\n\nrepositories {\n mavenCentral()\n jcenter()\n}\n\nmicronaut {\n testRuntime("junit5")\n processing {\n incremental(true)\n annotations("com.tolearn.*")\n }\n}\n\ndependencies {\n\n implementation("io.grpc:protoc-gen-grpc-kotlin:1.0.0")\n\n implementation("io.micronaut:micronaut-validation")\n implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlinVersion}")\n implementation("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}")\n implementation("io.micronaut.kotlin:micronaut-kotlin-runtime")\n implementation("io.micronaut:micronaut-runtime")\n implementation("io.micronaut.grpc:micronaut-grpc-runtime")\n implementation("javax.annotation:javax.annotation-api")\n implementation("io.micronaut:micronaut-http-client")\n implementation("io.micronaut:micronaut-tracing")\n\n runtimeOnly("io.jaegertracing:jaeger-thrift")\n runtimeOnly("ch.qos.logback:logback-classic")\n runtimeOnly("com.fasterxml.jackson.module:jackson-module-kotlin")\n}\n\n\napplication {\n mainClass.set("com.tolearn.ApplicationKt")\n}\n\njava {\n sourceCompatibility = JavaVersion.toVersion("11")\n}\n\ntasks {\n compileKotlin {\n kotlinOptions {\n jvmTarget = "11"\n }\n }\n compileTestKotlin {\n kotlinOptions {\n jvmTarget = "11"\n }\n }\n\n\n}\n\nsourceSets {\n main {\n java {\n srcDirs("build/generated/source/proto/main/grpc")\n srcDirs \'build/generated/source/proto/main/grpckt\'\n srcDirs("build/generated/source/proto/main/java")\n }\n }\n}\n\nprotobuf {\n protoc { artifact = "com.google.protobuf:protoc:3.14.0" }\n plugins {\n grpc { artifact = "io.grpc:protoc-gen-grpc-java:1.33.1" }\n grpckt { artifact = "io.grpc:protoc-gen-grpc-kotlin:1.0.0" }\n }\n generateProtoTasks {\n all()*.plugins {\n grpc {}\n grpckt {}\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n整个项目可以从github克隆
\n所以我的直接问题是:如何添加 protoc-gen-grpc-kotlin-1.0.0?
\n第二个问题:我看到一些使用 kapt(enforcedPlatform ... 和实现(enforcedPlatform ... 的例子,如下例所示)
\ndependencies {\n kapt(enforcedPlatform("io.micronaut:micronaut-bom:$micronautVersion"))\n kapt("io.micronaut:micronaut-inject-java")\n kapt("io.micronaut:micronaut-validation")\n\n implementation(enforcedPlatform("io.micronaut:micronaut-bom:$micronautVersion"))\n implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlinVersion}")\n implementation("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}")\n implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion")\n implementation("io.micronaut:micronaut-runtime")\n implementation("io.micronaut.grpc:micronaut-grpc-server-runtime:$micronautGrpcVersion")\n implementation("io.micronaut.grpc:micronaut-grpc-client-runtime:$micronautGrpcVersion")\n implementation("io.grpc:grpc-kotlin-stub:${grpcKotlinVersion}")\nRun Code Online (Sandbox Code Playgroud)\n“kapt(enforcedPlatform”和“implementation(enforcedPlatform”)的目的是什么?我的问题是否应该与缺少 enforcedPlataform 之一有关?
\n*** 编辑 1
\n现在我得到了
\n Microsoft Windows [vers\xc3\xa3o 10.0.18363.1256]\n (c) 2019 Microsoft Corporation. Todos os direitos reservados.\n \n C:\\_d\\toLearn\\demo-grpc-jaeger>gradle clean build --stacktrace\n \n > Task :kaptKotlin FAILED\n C:\\_d\\toLearn\\demo-grpc-jaeger\\build\\tmp\\kapt3\\stubs\\main\\com\\tolearn\\DemoGrpcJaegerServiceGrpcKt.java:35: error: incompatible types: NonExistentClass cannot be converted to Annotation\n @error.NonExistentClass()\n ^\n FAILURE: Build failed with an exception.\n \n * What went wrong:\n Execution failed for task \':kaptKotlin\'.\n > A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution\n > java.lang.reflect.InvocationTargetException (no error message)\n \n * Try:\n Run with --info or --debug option to get more log output. Run with --scan to get full insights.\n \n * Exception is:\n org.gradle.api.tasks.TaskExecutionException: Execution failed for task \':kaptKotlin\'.\n at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:200)\n at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)\n at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:198)\n at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:179)\n at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)\n at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)\n at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)\n at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)\n at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)\n at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)\n at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)\n at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)\n at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)\n\n ...\n at org.jetbrains.kotlin.kapt3.base.incremental.IncrementalAptCache.updateCache(IncrementalAptCache.kt:26)\n at org.jetbrains.kotlin.kapt3.base.incremental.JavaClassCacheManager.updateCache(cache.kt:22)\n at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:86)\n at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:34)\n at org.jetbrains.kotlin.kapt3.base.Kapt.kapt(Kapt.kt:45)\n ... 31 more\n \n \n * Get more help at https://help.gradle.org\n \n BUILD FAILED in 8s\n 8 actionable tasks: 8 executed\n \n C:\\_d\\toLearn\\demo-grpc-jaeger>\nRun Code Online (Sandbox Code Playgroud)\n有了这个 build.gradle
\nplugins {\n id("org.jetbrains.kotlin.jvm") version "1.4.10"\n id("org.jetbrains.kotlin.kapt") version "1.4.10"\n id("org.jetbrains.kotlin.plugin.allopen") version "1.4.10"\n id("com.github.johnrengelman.shadow") version "6.1.0"\n id("io.micronaut.application") version "1.2.0"\n id("com.google.protobuf") version "0.8.13"\n}\n\nversion = "0.1"\ngroup = "com.tolearn"\n\nrepositories {\n mavenCentral()\n jcenter()\n}\n\nmicronaut {\n testRuntime("junit5")\n processing {\n incremental(true)\n annotations("com.tolearn.*")\n }\n}\n\n///sf/answers/3895282401/\n//kapt {\n// correctErrorTypes true\n//}\n\ndependencies {\n\n //implementation("io.grpc:protoc-gen-grpc-kotlin:1.0.0")\n\n implementation("io.micronaut:micronaut-validation")\n implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlinVersion}")\n implementation("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}")\n implementation("io.micronaut.kotlin:micronaut-kotlin-runtime")\n implementation("io.micronaut:micronaut-runtime")\n implementation("io.micronaut.grpc:micronaut-grpc-runtime")\n implementation("javax.annotation:javax.annotation-api")\n implementation("io.micronaut:micronaut-http-client")\n implementation("io.micronaut:micronaut-tracing")\n\n runtimeOnly("io.jaegertracing:jaeger-thrift")\n runtimeOnly("ch.qos.logback:logback-classic")\n runtimeOnly("com.fasterxml.jackson.module:jackson-module-kotlin")\n}\n\n\napplication {\n mainClass.set("com.tolearn.ApplicationKt")\n}\n\njava {\n sourceCompatibility = JavaVersion.toVersion("11")\n}\n\ntasks {\n compileKotlin {\n kotlinOptions {\n jvmTarget = "11"\n }\n }\n compileTestKotlin {\n kotlinOptions {\n jvmTarget = "11"\n }\n }\n\n\n}\n\nsourceSets {\n main {\n j
从版本 0.2.0 开始,protoc-gen-grpc-kotlin 是一个 Jar,而不是依赖于平台的二进制文件(https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-kotlin/1.0 .0/)。所以在你的protobuf配置块中,它应该是grpckt { artifact = "io.grpc:protoc-gen-grpc-kotlin:1.0.0:jdk7@jar"}.
(请注意,如果您没有指定工件扩展名,protobuf 插件将根据您的平台选择一个扩展名。)
implementation("io.grpc:protoc-gen-grpc-kotlin:1.0.0")另外,您的项目中可能不需要依赖项。
| 归档时间: |
|
| 查看次数: |
2756 次 |
| 最近记录: |