无法解析静态方法中的类

时间:2018-06-22 08:00:06

标签: groovy groovy-eclipse jenkins-shared-libraries

我有一个Groovy类“ Utils.groovy”,其中包含方法“ makeHttpCall()”。 这是该方法的摘要版本:

static String makeHTTPCall() {
    ...
    request.setHeader(javax.ws.rs.core.HttpHeaders.AUTHORIZATION, authHeader)
    ...
}

编译器抱怨:

  

Groovy:在静态作用域中发现了表观变量“ javax”,但   没有引用局部变量,静态字段或类。

如果我将方法设为非静态,它将停止抱怨;

String makeHTTPCall() {
    ...
    request.setHeader(javax.ws.rs.core.HttpHeaders.AUTHORIZATION, authHeader)
    ...
}

这样,它不会抱怨。为什么编译器会对此抱怨?

请注意,该方法运行没有问题。它作为Jenkins共享库的一部分运行。

谢谢!

编辑:使用 import javax.ws.rs.core.HttpHeaders给予

  

Groovy:无法解析类javax.ws.rs.core.HttpHeaders

所以该类不能被编译器解析,但是可以在Jenkins中运行。

1 个答案:

答案 0 :(得分:0)

您需要将提供“ javax.ws.rs.core.HttpHeaders”的库添加到项目的构建路径。另外,您可以在类/脚本中使用@Grab。在这种情况下,这可能不是您想要的,因为Jenkins在运行时提供了这种依赖关系。

相关问题