当前位置: 首页 > news >正文

【问题解决】Jenkins使用File的exists()方法判断文件存在,一直提示不存在的问题

小剧场

最近为了给项目组提供一个能给Java程序替换前端、后端的增量的流水线,继续写上了声明式流水线。

替换增量是根据JSON配置文件去增量目录里去取再替换到对应位置的,替换前需要判断增量文件是否存在。

判断文件是否存在?作为一个老Javaer那还不简单,随手就敲上了Groovy语法的代码:

def filePath = "/path/to/path/myFile"
if(new File(filePath).exists()){
    println '增量存在'
}else{
    println '增量不存在'
}

然后在本地环境的Jenkins(单主节点)运行一直没问题,然后脚本代码提交到后,再使用公司的Jenkins去运行代码。

发现无论文件是否存在,它都会提示“增量不存在”!

我还尝试在if判断前列出文件,代码变成了:

def filePath = "/path/to/path/myFile"
sh "ls -l ${filePath}"
if(new File(filePath).exists()){
    println '增量存在'
}else{
    println '增量不存在'
}

然后更神奇的现象出现了:ls -l的确列出了文件,然后输出”增量不存在“!

问问deepseek

解决

通过AI工具的分析,发现了个隐藏的知识:new File()会在Jenkins主节点执行!要想判断文件存在,使用fileExists方法更靠谱!

我这边正好不涉及agent节点非Linux的情况,问题一下子就确认了。好家伙,困扰我1个小时的问题竟然就这么轻松的解决了。

代码改写如下:

def filePath = "/path/to/path/myFile"
if(fileExists(filePath)){
    println '增量存在'
}else{
    println '增量不存在'
}

AI工具的的确确能提升开发效率,真不错!

相关文章:

  • 视觉Transformer(DETR)
  • Redis面试常见问题——集群方案
  • IntelliJ IDEA 2024.3.4 版本无法正常加载maven项目
  • frps与frpc
  • C#—csv文件格式操作实例【在winform表格中操作csv】
  • 致远电子三合一8路串口服务器
  • 基于SpringBoot的在线骑行网站的设计与实现(源码+SQL脚本+LW+部署讲解等)
  • 学习第十一天-树
  • 定制化开发的WooCommerce独立站商城更安全
  • 极狐GitLab 正式发布安全版本17.9.1、17.8.4、17.7.6
  • JAVA入门——网络编程简介
  • coze 工作流微博关键词爬虫
  • ES中数据刷新策略refresh
  • SYSTEM文件夹下的文件
  • 什么是XSS,什么是CSP,什么是gevent
  • 文件压缩与解压工具7-Zip的安装和使用(免费)
  • 期权帮|2025年股指期货最新规则是什么?
  • Dify 开源大语言模型应用开发平台使用(一)
  • 使用Python和Transformer模型进行土壤水热模拟与预测的基本示例
  • Jasper AI技术浅析(六):关键词优化与 SEO 生成
  • 卿晨璟靓等用服刑经历“引流”,专家:将犯罪问题娱乐化会消解刑罚严肃性
  • 在美国,为什么夏季出生的孩子更容易得流感?
  • 爬坡难下坡险,居民出行难题如何解?
  • 俄乌代表团抵达谈判会场
  • 悬疑剧背后的女编剧:创作的差异不在性别,而在经验
  • 小米汽车机盖门陷谈判僵局,车主代表称小米表示“退订会造成崩塌”