谷歌云翻译 api 库未构建 - 找到重复的类

Posted

技术标签:

【中文标题】谷歌云翻译 api 库未构建 - 找到重复的类【英文标题】:google cloud translate api library not building- Duplicate class found 【发布时间】:2020-01-04 07:55:10 【问题描述】:

我正在尝试运行 google cloud api 示例,但它没有被构建。

build.gradle

implementation('com.google.cloud:google-cloud-translate:1.12.0') 
            exclude group: 'org.apache.httpcomponents'
            exclude group: 'org.json', module: 'json'
        
        annotationProcessor 'com.google.cloud:google-cloud-translate:1.12.0'

日志:

org.gradle.api.tasks.TaskExecutionException:任务':app:checkDebugDuplicateClasses'的执行失败。 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:151) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:148) 在 org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:191) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:141) 在 org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionStateTaskExecuter.execute(ResolveBeforeExecutionStateTaskExecuter.java:75) 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:62) 在 org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:108) 在 org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionOutputsTaskExecuter.execute(ResolveBeforeExecutionOutputsTaskExecuter.java:67) 在 org.gradle.api.internal.tasks.execution.StartSnapshotTaskInputsBuildOperationTaskExecuter.execute(StartSnapshotTaskInputsBuildOperationTaskExecuter.java:62) 在 org.gradle.api.internal.tasks.execution.ResolveAfterPreviousExecutionStateTaskExecuter.execute(ResolveAfterPreviousExecutionStateTaskExecuter.java:46) 在 org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:94) 在 org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) 在 org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95) 在 org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) 在 org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) 在 org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) 在 org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:73) 在 org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) 在 org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:49) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102) 在 org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36) 在 org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:49) 在 org.gradle.execution.plan.LocalTask​​NodeExecutor.execute(LocalTask​​NodeExecutor.java:43) 在 org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355) 在 org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343) 在 org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336) 在 org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129) 在 org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) 在 org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) 在 java.lang.Thread.run(Thread.java:745) 引起:com.android.ide.common.workers.WorkerExecutorException:工人引发了 1 个异常: java.lang.RuntimeException:在模块 auto-value-1.2.jar (com.google.auto.value:auto-value:1.2) 和 auto-value-annotations-1.6 中发现重复的类 com.google.auto.value.AutoAnnotation .2.jar (com.google.auto.value:auto-value-annotations:1.6.2) 在模块 auto-value-1.2.jar (com.google.auto.value:auto-value:1.2) 和 auto-value-annotations-1.6.2.jar (com .google.auto.value:auto-value-annotations:1.6.2) 在模块 auto-value-1.2.jar (com.google.auto.value:auto-value:1.2) 和 auto-value-annotations-1.6.2.jar 中发现重复的类 com.google.auto.value.AutoValue$Builder (com.google.auto.value:auto-value-annotations:1.6.2) 前往文档了解如何修复依赖解析错误。

【问题讨论】:

【参考方案1】:

这里有一个简单的解决方案……它对我有用:

清理项目 重建项目 将项目与 gradle 文件同步

【讨论】:

【参考方案2】:

我正在使用

implementation 'net.danlew:android.joda:2.9.9.4'

内部使用

    implementation 'joda-time:joda-time:2.10.3'

因此删除了net.danlew:android.joda:2.9.9.4 并添加了joda-time:joda-time:2.10.3 已解决的问题!。

如果你得到自动值相关的重复类错误添加:

api('com.google.auto.value:auto-value-annotations:1.6.6') 
        transitive = true
    
    annotationProcessor 'com.google.auto.value:auto-value:1.6.6'

【讨论】:

以上是关于谷歌云翻译 api 库未构建 - 找到重复的类的主要内容,如果未能解决你的问题,请参考以下文章

如何在谷歌云功能中使用谷歌表格 API

谷歌云端硬盘API:避免手动认证

来自谷歌云视觉 API OCR 的逐行数据

谷歌云构建python apache Beam数据流yaml文件

如果我们在使用谷歌翻译 API 时删除“由谷歌提供支持”,是不是违反谷歌的 T&C?

getaddrinfo ENOTFOUND API 谷歌云