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

JsonSlurper执行失败

齐磊
2023-03-14

我试图使用JsonSlurper从不同的文件输入变量。但它在第二次执行时失败了。有人能帮帮我吗?

从步骤Jenkins\u File\u Path=readFile(${Local\u Path\u App}“/Jenkinsfile”)

主要的棒极了

import groovy.json.JsonSlurper

Global_Settings_Path = readFile ("${Main_Local_Path}" + "/Config/GlobalSettings_Java.json" )
def jsonSlurper = new JsonSlurper()
def GlobalVariables = jsonSlurper.parseText(Global_Settings_Path)

Jenkins_File_Path = readFile ( "${Local_Path_App}" + "/Jenkinsfile" )
def jsonSlurper1 = new JsonSlurper()
def json = jsonSlurper1.parseText(Jenkins_File_Path)

Java全球设置。json

{
    "LOB": {
        "SVN_Config_Path": "testpath",
        "Local_Path_LOB": "test",
    }
}

詹金斯档案

{
    "BUILD_INFO": {
        "Build_Type" : "Maven",
    }
}

错误记录

共有1个答案

海典
2023-03-14

tl;dr:将JsonSlurper更改为JsonSlurperClassic

答复:

JsonSlurper在表面下使用的LazyMap类经常是这一问题和许多其他问题的根源。较旧版本的JsonSlurper(在当前版本中称为JsonSlurperClassic)使用常规的、可序列化的JavaHashMap)来实现这些目的,因此不容易出现类似的问题。

 类似资料:
  • 无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:在项目gameoflife上编译(default-compile)-core:编译失败[错误]此环境中未提供编译器。也许您运行的是JRE而不是JDK? 我已经在我的机器上安装了Java,但仍然面临这个问题。 我在做EC2。

  • 在两台不同的笔记本电脑上使用maven构建相同的项目。一个是运行良好,一个是显示错误。 状态:两个系统的配置相同。 使用的命令:mvn clean install-DskipTests=true 错误: 我什至尝试删除所有内容,例如再次创建. m2文件夹。

  • > 错误:任务“:app:CompileDebugKotlin”执行失败。

  • 我已经通过libav-tools对安装了ffmpeg的应用程序进行了dockerize。该应用程序启动时没有问题,但是当Fluent-ffmpeg npm模块试图执行ffmpeg命令时出现了问题,但没有找到。当我想检查ffmpeg的版本和图像中设置的linux发行版时,我使用了命令,但它给出了以下错误: 然后我意识到,我尝试在图像或容器中运行的所有命令都会出现同样的错误。 这是我的Dockerfi

  • 我的SoapUI Groovy脚本有问题。我有以下json(简化): 在之前的测试步骤中,我将XXX和YYY的值作为请求参数,并将其提取为字符串列表,但我的问题是我需要提取数据内容。XXX和数据。YYY,但是当我想在循环中这样做的时候,我总是得到null。我的代码: 是否有任何选项可以在循环中将此“id”传递给 content.data。{id} 获取任何内容,而不是空值 亲切问候

  • 问题内容: 我试图通过Python调用带有多个参数的进程。执行批处理文件本身对我来说很好,但是将其翻译成Python会让我大叫。这里是批处理文件的内容: 批处理文件运行的可执行文件名为。可执行文件的输出提供以下信息:– backend 。 另请注意,某些参数是字符串,而有些则不是。 解 现在对我有用: 问题答案: 在Windows中执行批处理文件: 如果您不想执行批处理文件,而是直接从Python