Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Eclipse2020-06不将gradle文件视为Java类文件?_Java_Gradle_Eclipse 2020 06 - Fatal编程技术网

如何使Eclipse2020-06不将gradle文件视为Java类文件?

如何使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...&

几个月前,我升级到Eclipse 2020-06,从那时起,我的Gradle文件似乎被验证为Java文件,而不是Gradle文件:

他们在浏览器中的名称旁边也有Java类文件图标,但我不确定以前不是这样的:

例如,下面是failingBuild.gradle:

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文件。