Как исправить «java.lang.IllegalArgumentException: ожидаемые именованные аргументы, но получили [XXXX]» - PullRequest
1 голос
/ 04 июня 2019

Я создаю конвейер Jenkins, который будет анализировать XML-файл и возвращать версию Nuspec.У меня проблемы с чтением файла XML в переменную без ведущих символов спецификации (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: ожидаемые именованные аргументы, но получили [класс java.lang.String, test.nuspec, класс 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: не найдено такого поля: поле java.lang.String test.nuspec

Это всего лишь пара моихразные попытки заставить это работать.В настоящее время я выполняю эти команды в этой части моего jenkinsfile:

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

}  

Я новичок в groovy, но вся помощь приветствуется.

1 Ответ

0 голосов
/ 04 июня 2019

Я получил это работает !!!!!!: D: D: D

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

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

Это также должно работать, но я не уверен на 100%!
def xml = readFile file: strNuspec, encoding: encoding
Надеюсь, это поможет кому-то, кто столкнется с проблемой!

...