当前位置: 首页 > 知识库问答 >
问题:

如何排除Groovy错误“无法解决类spock.lang.规范”?

慕宪
2023-03-14

我使用的是Ubuntu Linux 16、Gradle 2.10、Groovy 2.4.5和Java版本9。如果我不需要Gradle,我想把它除掉。我正在尝试从GitHub运行此程序。

这是代码的文本:

package timezra.groovy.trampoline_memoize

import spock.lang.Specification

class RecursiveMemoizationSpec extends Specification {

    int count

    def fib = { n ->
        count++
        if(n == 0) 0
        else if(n == 1) 1
        else fib.call(n-1) + fib.call(n-2)
    }.memoize()

    def "calls should be cached"() {
        when:
        def actual = fib 10

        then:
        actual == 55
        count == 11
        // count == 177 //unmemoized
    }
}

当我用

Groovy RecursiveMemoizationSpec.groovy

我收到以下错误:

/groovy trampoline记忆规范/src/test/groovy/timezra/groovy/trampoline\u记忆规范/recursivememorizationspec。groovy:3:无法解析类spock。语言规范@第3行,第1列。导入spock。语言规范^

1错误

程序在不同的网站上被引用。这些版本会产生相同的问题。我希望它在没有此错误的情况下工作。我如何让上面的程序工作?

共有1个答案

祝花蜂
2023-03-14

这是一个非常古老的项目,7年来似乎没有人动过它。你不应该丢弃gradle,而应该学会如何使用它。查看构建文件可以看到它添加了Groovy(1.8.3)和spoc依赖项。由于此项目没有gradle包装器,我将使用sdkman下载并安装gradle:

https://sdkman.io/install

然后我会从项目的根运行gradle测试。

您可能遇到的另一个问题是您正在运行Java 9。Groovy 1.8.3可能不会在Java 9上运行。我知道Groovy在2.5中一直致力于Groovy9的兼容性。x版本,并将在3.0中添加更多语法支持。因此,您可以更新构建文件以使用从不使用的Groovy版本,也可以降级到Java 8。如果您安装了sdkman,它还为您提供了一种轻松的方式来管理和动态切换Java版本。

如果您仍然真的想摆脱gradle,那么您必须使用Groovy@Grab注释,它将引入类似于gradle的依赖项:

http://docs.groovy-lang.org/latest/html/documentation/grape.html

但我建议您了解Gradle,因为它是一个强大的构建系统。

 类似资料:
  • 现在我正在尝试从git运行克隆应用程序https://github.com/frinder/frinder-app但问题是该应用程序制作了很长时间,所以应该改变bulid.gradle 但是当我尝试相同的同步实现“com.android.支持:动画矢量可绘制:28.0.0”,但如果我删除它,请继续向我显示错误28.0.0它显示如下 但我不知道是什么造成了不完全相同的版本 这是应用程序build.g

  • 问题内容: 对于Java的最终结业,我们在测试中包含“异常”部分,其中包括try,catch和finally调用。当我尝试将示例代码放入Eclipse时,遇到了错误并抛出了新的领域。所有错误都显示“无法解析键入”。 如何解决此问题,以便可以学习/查看代码应该执行的操作? Q4类 Q4Exception类 问题答案: 我认为值得一提的是,在Eclipse中,Ctrl + Shif + O可以为您解决

  • 当我通过命令行或Jenkins运行Groovy脚本时,会出现“无法解析类”错误。 我在C中的同一文件夹中有以下两个groovy文件:\Users\myuser\git\productname\mycompany build\src\main\groovy\com\mycompany\build 富。groovy公司 酒吧groovy公司 我经营Foo。groovy使用命令行。 运行Groovy时,

  • 我想在Spring Boot中的安全endpoint上设计https的使用我生成PKCS12格式的证书并将生成的证书放在资源文件夹下当我运行gradle build命令时,我可能会出现以下错误 proerty文件如下所示 主程序 控制器看起来像这样 SSL生成命令是openssl gradle文件如下所示:

  • 我正在使用eclipse,我需要在我的android活动中使用带有PagerSlidingAbstrip的滑动选项卡。解决方案必须是什么?

  • 我试图实现方法底部导航视图,但当我运行代码时,我得到了这个错误 build.gradle(模块应用程序)