jenkins - 在 Jenkins 中使用 groovy 脚本时出现问题
问题描述
我正在使用 groovy 脚本从 jenkins 作业中的 Prop 文件中删除内容。我在构建部分使用 groovy 插件。当值被硬编码时,我的代码工作正常。但是当我使用变量传递值时,我没有得到想要的结果。我已经在 intelliji 编辑器中测试了我的代码并得到了一些结果。你能帮我理解我做错了什么吗?
这工作正常
InputStream input = new FileInputStream("C:\\AppianDeployment\\Application.properties")
Properties prop = new Properties()
String removeApps = "AP2"
prop.load(input)
def keyToRemove = "${removeApps}".toString()
*prop.remove("AP1")*
OutputStream output = new FileOutputStream("C:\\AppianDeployment\\Application.properties");
prop.store(output, null);
这是行不通的
InputStream input = new FileInputStream("C:\\AppianDeployment\\Application.properties")
Properties prop = new Properties()
String removeApps = "AP2"
prop.load(input)
def keyToRemove = "${removeApps}".toString()
*prop.remove(${keyToRemove})*
OutputStream output = new FileOutputStream("C:\\AppianDeployment\\Application.properties");
prop.store(output, null);
解决方案
Groovy 中没有这样的文字
prop.remove(${keyToRemove})
相反,您应该使用
prop.remove keyToRemove
或出于任何原因
prop.remove "${keyToRemove}".toString()
推荐阅读
- python - Django:从相关模型中查询数据
- kubernetes - K8S groundnuty/k8s-wait-for 映像无法作为 init 容器启动(带 helm)
- vue.js - Buefy 表未在渲染函数中传递道具
- gradle - 配置项目 ':app' 时出现问题。从服务器收到状态码 403:Forbidden dl.bintray.com
- java - 如何检查ArrayList中是否已经存在字符串?
- python - 如何在 Python 中获取 Github 存储库的最新活动?
- python - 为什么不能循环一个数字列表并直接增加每个数字?
- javascript - 当我期望投掷时,摩卡通过了测试,但是 muy 函数没有投掷
- sql - 在 Oracle SQL 中将纪元时间转换为正常的日期时间格式
- azure-devops - Azure DevOps 访问使用管道生成的文件?