java - 如何修复 "java.lang.IllegalArgumentException: Expected named arguments but got[XXXX]"

标签 java jenkins groovy jenkins-pipeline

我正在创建一个 Jenkins 管道,它将解析 XML 文件并返回 Nuspec 版本。我在将 XML 文件读入没有前导 BOM 字符 (UTF-8) 的变量时遇到问题,我现在尝试将文件读入变量并添加要使用的编码。

我尝试使用以下文档,但尽管进行了许多不同的尝试和格式化代码的不同方法,但我仍然收到以下错误。

我已尝试完全按照此处的文档进行操作 https://docs.oracle.com/cd/E84527_01/wcs/tag-ref/JAVA/Utilities_readFile.html

代码:

strNuspec = "test.nuspec"
echo 'Reading nuspec into string'
def xml = readFile (String, "${strNuspec}",String, "UTF-8")
println xml

和错误:

java.lang.IllegalArgumentException: Expected named arguments but got [class java.lang.String, test.nuspec, class java.lang.String, UTF-8]

下一个:

strNuspec = "test.nuspec"
echo 'Reading nuspec into string'
def xml = readFile (strNuspec, "${strNuspec}", encoding, "${encoding}")
println xml  

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: No such field found: field java.lang.String test.nuspec

这只是我为使其发挥作用而进行的一些不同尝试。 我目前正在我的 jenkinsfile 的这一部分中运行这些命令;

stage('Build')  
{  
  steps  
  {  
      script  
     {  
      Code here    
     }  
  }  

}  

我是 groovy 的新手,但非常欢迎所有帮助。

最佳答案

我成功了!!!!!! :D :D :D

def encoding = "UTF-8"
strNuspec = "test.nuspec"

def xml = readFile file: "${strNuspec}", encoding: ${encoding}" 
println xml

这应该也有效,但我不是 100% 确定!
def xml = readFile 文件:strNuspec,编码:编码
希望这可以帮助遇到该问题的其他人!

关于java - 如何修复 "java.lang.IllegalArgumentException: Expected named arguments but got[XXXX]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56442598/

相关文章:

java - 使用 JPA 读取多个结果集

javascript - 使用 Gradle 运行 karma ?

unit-testing - Grails:使用 spock 测试约束错误消息

linux - 在 jenkins 管道中用 envsubst 替换文件变量

api - Grails中Clickatell API的MissingPropertyException

java - Groovy/Java 进程管理拦截/监听输出

java - 在以给定子字符串结尾的每个单词之后插入一个单词

java - 如何在 shellbolt 中调用元组上的脚本

javascript - 检查 onPageFinished 是否完成

jenkins - 使用 Chef 自动化部署的最佳方法是什么