如何在Java Gradle项目中从类路径移除源码jar包?
解决Gradle项目类路径包含依赖源码Jar的问题
排查依赖声明
先检查你的build.gradle(或build.gradle.kts)里的依赖配置,是否不小心引入了带sources分类器的依赖。比如如果有类似下面的代码:
implementation 'org.apache.commons:commons-lang3:3.14.0:sources'
直接去掉:sources后缀,改成正常的依赖声明:
implementation 'org.apache.commons:commons-lang3:3.14.0'
检查IntelliJ的Gradle设置
打开IntelliJ的设置(File > Settings),找到Build, Execution, Deployment > Build Tools > Gradle,确保Download sources and documentation选项未被勾选。这个选项会让IntelliJ自动下载依赖源码,但正常不会将源码Jar加入运行类路径,不过配置异常时可能出现这种情况,取消勾选后重新同步Gradle项目。
分析依赖树定位来源
执行Gradle命令查看完整的依赖树,确认源码Jar是被哪个配置引入的:
./gradlew dependencies
在输出中查找带sources的依赖项,定位到对应的引入配置,针对性调整。
清理缓存并重新同步
如果上面的操作都没解决问题,尝试清理Gradle缓存并重新构建:
./gradlew clean build --refresh-dependencies
之后在IntelliJ的Gradle面板点击刷新按钮,重新同步项目。
内容的提问来源于stack exchange,提问作者Robert
相关产品推荐
相关产品推荐

