如何使Eclipse2020-06不将gradle文件视为Java类文件?
几个月前,我升级到Eclipse 2020-06,从那时起,我的Gradle文件似乎被验证为Java文件,而不是Gradle文件: 他们在浏览器中的名称旁边也有Java类文件图标,但我不确定以前不是这样的: 例如,下面是failingBuild.gradle:如何使Eclipse2020-06不将gradle文件视为Java类文件?,java,gradle,eclipse-2020-06,Java,Gradle,Eclipse 2020 06,几个月前,我升级到Eclipse 2020-06,从那时起,我的Gradle文件似乎被验证为Java文件,而不是Gradle文件: 他们在浏览器中的名称旁边也有Java类文件图标,但我不确定以前不是这样的: 例如,下面是failingBuild.gradle: defaultTasks 'build' task build { doLast { println "stopping the build by throwing an exception...&
defaultTasks 'build'
task build {
doLast {
println "stopping the build by throwing an exception..."
throw new GradleException('deliberately failing the build')
println "this should not be printed"
}
}
我的Gradle单元测试也失败了,因为ClassLoader.getSystemResource()在尝试将这些文件作为系统资源获取时返回null
据我所知,除了更新Eclipse之外,我没有对它做任何更改。我真的希望Eclipse再次正确地处理这些Gradle文件,即作为Java文件以外的其他文件
由于人们要求,项目结构:
这些gradle文件是我们单元测试的一部分。它们用于测试我们的产品是否能够正确启动基于gradle的构建脚本,并验证构建是否成功。因此,它们位于源目录中。我注意到的一点是,这些脚本不能用以下代码作为系统资源加载:
buildFile = new File(ClassLoader
.getSystemResource("be/ikan/scm4all/util/builders/gradle/testBuild.gradle")
.getPath());
这可能相关,也可能无关。基于此,您可以尝试以下步骤:
project>Clean…
右键单击项目>渐变>刷新渐变项目
文件>导入>现有渐变项目
否则,您可以尝试创建一个新的gradle文件吗?会发生什么?你已经安装了吗?您可以更新该工具吗?如果无法复制该行为,可能值得尝试重新定义eclipse的文件关联。通常这在
首选项下→ 一般的→ 编辑→ 文件关联。
在“文件类型”下,查看是否可以找到.gradle扩展名,并检查是否将其设置为gradle内置脚本编辑器。(可选路径:窗口)→ 偏好→ 工作台→ 文件关联)可能是您的gradle插件之一与新的eclipse版本不兼容吗?也许可以看看市场,然后搜索另一个选项。@Kilian Gradle文件与Gradle构建脚本编辑器关联,如推荐的那样。我安装的插件只是Buildship:EclipsePluginsforGradle,版本3.1.4.v20200326-1743。然而,这似乎比我的企业Java开发人员EclipseIDE版本(4.16.0.20200615+-1200)要旧。您是否更改了项目结构中的任何内容,可能是移动了gradle任务?另外,您可以从CLI运行gradle任务吗?这说明了什么?您是否有一个示例项目可供他人测试?一般来说,最好将java源代码和非java文件分开。通常有一个专用的资源源文件夹。。。也许可以检查Eclipse中的“内容类型”设置。它不是一个gradle项目,它只是一个Java项目,碰巧在一个源目录中包含gradle文件。