Что означает MissingMethodException?
Я взял его из презентации о непрерывной доставке. Предполагается, что он должен создавать, читать и обновлять манифест. Я могу запустить его только один раз.
def writePropertiesFile( props, file ) {
writeFile file: file, text: writeProperties(props)
}
@NonCPS def writeProperties( props ){
def sw = new StringWriter()
props.store( sw, null )
return sw.toString()
}
node() {
stage( 'Reading manifest' ) {
try{
copyArtifacts filter: 'manifest',
fingerprintArtifacts: true,
projectName: env.JOB_NAME,
selector: lastSuccessful()
versions = readProperties( file: 'manifest' )
} catch( Exception e ) {
echo e.toString()
versions = new Properties()
}
}
stage( 'Merging manifest' ) {
versions.put( 'dev', '1.2.3' )
}
stage( "Writing manifest" ) {
writePropertiesFile( versions, 'manifest' )
archive 'manifest'
}
}
Первый раз все работает правильно.
Это создает манифест, как это
#Wed Mar 21 16:30:34 CET 2018 dev=1.2.3
Во второй раз, когда я хочу обновить манифест, я получаю эту ошибку: hudson.remoting.ProxyException: groovy.lang.MissingMethodException: Нет подписи метода: java.util.HashMap.store() не применяется для типов аргументов: (java.io.StringWriter, null) значения: [, null]
Я абсолютно не Java-кодер, и я видел некоторые вопросы об этом MissingMethodException, которые я не понял. Например, как исправить groovy.lang.MissingMethodException: Нет подписи метода: