Gradle Eclipse编译问题:依赖错误时命令行与IDE提示不一致
我来帮你梳理这个问题的解决思路,先还原下你遇到的场景:
你的build.gradle里有个明显错误的依赖配置:
compile('org.springframework.boot:spring-boot-starter234')
当你在终端执行gradle build时,能得到非常明确的错误反馈:
FAILURE: Build failed with an exception.
- What went wrong:
Could not resolve all files for configuration ':compileClasspath'.Could not find org.springframework.boot:spring-boot-starter234:.
Required by: project :
但在Eclipse中运行同样的构建任务时,却只能看到模糊的错误提示(如图),哪怕执行了Gradle项目刷新也没改善:
下面是几个能帮你在Eclipse里拿到清晰错误信息的方法:
方法1:开启Gradle构建的详细日志输出
在Eclipse里找到Gradle Tasks视图,找到你要运行的build任务,右键选择「Run As > Gradle Build」。在弹出的配置窗口里切换到Arguments标签页,在「Program arguments」输入框里添加--info(中等详细度)或者--debug(最详细)参数,然后再运行任务。这样控制台就会输出和命令行一致的完整错误信息了。
方法2:确保Eclipse和命令行使用相同的Gradle环境
有时候Eclipse用的是插件内置的Gradle版本,和你终端里的版本不一致,可能导致日志输出差异。你可以打开Eclipse的「Window > Preferences > Gradle」,选择「Use Gradle wrapper's default version」,让Eclipse使用项目根目录下gradlew对应的Gradle版本,和终端保持一致。
方法3:直接查看Eclipse的元数据日志
如果上面的方法都没效果,你可以去Eclipse工作区的.metadata/.log文件里找详细错误。这个文件记录了Eclipse运行过程中所有的日志信息,包括Gradle构建失败的具体原因,打开就能看到完整的错误堆栈。
内容的提问来源于stack exchange,提问作者More Than Five

