java - 如何修复“java.lang.IllegalArgumentException:预期命名参数但得到 [XXXX]”
问题描述
我正在创建一个 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:预期命名参数,但得到 [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:找不到这样的字段:字段 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 file: strNuspec, encoding: encoding
希望这可以帮助遇到这个问题的其他人!
推荐阅读
- python - Pandas 按值更快地查找 DataFrame
- python - Python:套接字通信在有线局域网中不起作用
- mysql - MySQL - 多项选择题 - 存储问题类别的新表?
- r - 使用 R 和 Tidyverse 重新组织所有因子水平(以防止我的最终 ds 被混合)
- reactjs - req.user 未定义。React.js,路线,快递,护照
- excel - 将包含 hr:min:sec 和 min:sec 的 Excel 列转换为 hr:min:sec 格式
- c# - 尝试通过分段控制,Xamarin IOS 在容器视图中滑动 PVC 中的页面
- linux - 无法在 alpine docker 文件中运行 cron 消息
- nunjucks - Eleventy/njk - 基于动态标签的集合
- python - 转换 Pandas 日期时间以插入 MS SQL Server