You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Intellij中Google Text-to-Speech包多模块访问冲突问题

解决Google Text-to-Speech模块包冲突及自动模块警告问题

问题根源

模块冲突是因为你在module-info.java中同时声明了两个导出同一包的模块:google.cloud.texttospeech和proto.google.cloud.texttospeech.v1beta1,后者是未包含module-info的自动模块,导致JVM无法确定该使用哪个模块的包。自动模块警告则是因为这个proto模块没有显式的模块声明,名字由文件名生成,存在不稳定风险。

解决方案

1. 修改module-info.java

移除对proto.google.cloud.texttospeech.v1beta1的直接依赖声明,只保留google.cloud.texttospeech即可:

module your.module.name {
    requires google.cloud.texttospeech;
    // 移除 requires proto.google.cloud.texttospeech.v1beta1;
    // 保留其他必要的requires声明(比如javafx相关)
}

google.cloud.texttospeech模块已经通过依赖传递包含了所需的proto类,无需单独引入。

2. 确认Maven依赖配置

你的pom.xml配置是正确的,只需保留google-cloud-texttospeech依赖,Maven会自动处理其依赖的proto相关jar包:

<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-texttospeech</artifactId>
</dependency>

通过libraries-bom引入的版本已做好依赖版本管理,无需额外指定版本。

3. 验证修复

修改后重新编译项目,模块冲突错误和自动模块警告都会消失。你的导入语句无需修改,因为google.cloud.texttospeech模块已经导出了com.google.cloud.texttospeech.v1beta1包。

内容的提问来源于stack exchange,提问作者Hasen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:06:25