首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解析类org.yaml.snakeyaml.Yaml @Grab('org.yaml:snakeyaml:1.17') Jenkins管道

无法解析类org.yaml.snakeyaml.Yaml @Grab('org.yaml:snakeyaml:1.17') Jenkins管道
EN

Stack Overflow用户
提问于 2019-11-19 05:13:07
回答 1查看 4.2K关注 0票数 1

我无法使用詹金斯管道中的“抓取”。这里需要帮助。以下是错误。

代码语言:javascript
复制
     org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
    WorkflowScript: 1: unable to resolve class org.yaml.snakeyaml.Yaml
     @ line 1, column 1.
       @Grab('org.yaml:snakeyaml:1.17')
       ^

    1 error

下面是管道代码test.groovy

代码语言:javascript
复制
@Grab('org.yaml:snakeyaml:1.17')
import org.yaml.snakeyaml.Yaml


node{
    stage('test'){
        Yaml parser = new Yaml()
        def a = """
---
environment: production
classes:
  nfs::server:
    exports:
      - /srv/share1
      - /srv/share3
parameters:"""
        parser.load(a)

        print(parser.load(a))
    }
}

该错误发生在定义为“SCM管道脚本”的管道中,并可用于定义“管道脚本”和脚本控制台。

下面的代码用于脚本控制台(Manage ->脚本控制台)

代码语言:javascript
复制
@Grab('org.yaml:snakeyaml:1.17')
import org.yaml.snakeyaml.Yaml

  Yaml parser = new Yaml()
        def a = """
---
environment: production
classes:
  nfs::server:
    exports:
      - /srv/share1
      - /srv/share3
parameters:"""
        parser.load(a)

        print(parser.load(a))

输出

代码语言:javascript
复制
[environment:production, classes:[nfs::server:[exports:[/srv/share1, /srv/share3]]], parameters:null]
EN

回答 1

Stack Overflow用户

发布于 2019-11-19 09:30:06

凹槽抓斗使用常春藤来管理jars的恢复。您需要添加共享Groovy库插件。默认情况下,它从maven中心获得jars,但您可以使用注释@GrabResolver指定其他存储库。取自https://tcollignon.github.io/2017/07/10/How-To-Use-third-party-libraries-in-Jenkins-Pipeline.html

此外,还可以将jar文件添加到Jenkins目录中的./.groovy/grapes/org.yaml/snakeyaml/jars/snakeyaml-1.17.jar中。

第二种情况不是使用这个库,而是使用来自标准 readYaml writeYaml管道实用步骤函数。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58927055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档