filePropertiesToJsonOperation file doesn‘t exists, the target file remains as is.

2023-05-16

12:40:37 File Create Operation:
12:40:37 Creating file: /root/.jenkins/workspace/CommonDevelop_shell/jenkinsBuildInfoPath/buildInfo.properties
12:40:37 File Properties To Json Operation:
12:40:37 ./jenkinsBuildInfoPath/buildInfo.properties file doesn't exists, the target file remains as is.

File Operations Plugin 在版本 1.11 上,Properties文件转json文件的时候,如果需要写入的json文件不存在的时候,会报错源文件不存在,这是个bug!

配置如下:

 

源码地址:

https://github.com/jenkinsci/file-operations-plugin/blob/master/src/main/java/sp/sd/fileoperations/FilePropertiesToJsonOperation.java

        @Override
        public Boolean invoke(File ws, VirtualChannel channel) {
            boolean result = false;
            try {
                FilePath fpWS = new FilePath(ws);
                FilePath fpSL = new FilePath(fpWS, resolvedSourceFile);
                FilePath fpTL = new FilePath(fpWS, resolvedTargetFile);
                if (!fpTL.exists()) {
                    listener.getLogger().println(resolvedSourceFile + " file doesn't exists, the target file remains as is.");
                } else {
                    String fileContent = "";
                    Properties sourceProperties = new Properties();
                    sourceProperties.load(fpSL.read());
                    fpTL.write(convertToJson(sourceProperties), "UTF-8");
                    result = true;
                    listener.getLogger().println("Creating Json: from source " + fpSL.getRemote() + " to target " + fpTL.getRemote());
                }
            } catch (RuntimeException e) {
                listener.fatalError(e.getMessage());
                throw e;
            } catch (Exception e) {
                listener.fatalError(e.getMessage());
                result = false;
            }
            return result;
        }

        查看源码可知,判断的是fpTL即写入的目标文件resolvedTargetFile不存在,抛出的异常是 resolvedSourceFile 不存在,牛头不对马嘴!!!

        临时解决,可以先创建一个目标文件,如下:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

filePropertiesToJsonOperation file doesn‘t exists, the target file remains as is. 的相关文章

  • 无法使用 Java 删除文件夹

    我试图删除一个只有文件但没有子文件夹的文件夹 但没有成功 Code File rowFolder new File folderPath String files rowFolder list for String file files F
  • 如何使用 ifstream 正确从文件中读取 unsigned int 变量?

    我的代码从文本文件中读取 unsigned int 变量Input File Name unsigned int Column Count Cols unsigned int Row Count Rows try ifstream inpu
  • 如何在 Javascript 中创建动态文件+下载链接? [复制]

    这个问题在这里已经有答案了 通常 HTML 页面可以包含可从服务器下载的文档 PDF 等 的链接 假设有一个启用 Javascript 的网页 是否可以从用户浏览器中动态创建一个文本文档 例如 并添加一个链接来下载该文档 而无需往返服务器
  • C/C++:如何将数据存储在B树中的文件中

    在我看来 将数据作为文件存储在 B 树中的一种方法可以使用 C 语言使用具有结构序列 数组 的二进制文件来有效完成 每个结构代表一个节点 因此 我们可以使用类似于使用数组创建链表的方法来连接各个节点 但随之而来的问题是删除节点 因为在一个大
  • 使用 PHP 创建 .jpg 文件的下载链接

    我想这应该很容易 我有一个分页图像库 每个图像下方都有一个小链接 上面写着 下载 Comp 这应该允许人们快速将 jpg 文件 带有 PHP 生成的水印 下载到他们的计算机上 现在 我知道我可以直接链接到 jpg 文件 但这需要用户在新窗口
  • 在android中根据文件的创建日期对文件进行排序

    我想要基于我的创建日期的文件列表 当我更新任何图像并尝试检索所有图像时 订单会随机更改 这是我的代码 File files parentDir listFiles for File file files I am getting files
  • 区分大小写 Directory.Exists / File.Exists

    有没有办法区分大小写Directory Exists File Existssince Directory Exists folderPath and Directory Exists folderPath ToLower 都返回true
  • c++ 打开文件的问题

    必须是一个简单的答案 但我不知所措 这是返回错误的代码 我尝试过带或不带起始斜杠 我不知道完整路径 我希望它是相对于exe的 这就是相对路径 我试图逃避斜线 我的问题是当文件存在时我收到 打开文件时出错 为什么它失败了 ifstream m
  • r 读取多个 .dat 文件

    你好 我是新来的 也是 R 的初学者 我的问题 如果我有多个文件 test1 dat test2 dat 要在 R 中使用 我使用此代码来读取它们 filelist lt list files pattern dat df list lt
  • 如何使以下 readAsDataURL 返回多个 readAsDataURL?

    此函数读取从输入字段获取的文件并返回其 dataUrls readAsDataURL target target gt
  • Laravel 5.3 存储和读取文件目录

    目前正在尝试处理文件 但很难弄清楚将它们放在哪里以及如何在列表中读回它们 我尝试过将一些测试文件放入 files array dir opendir asset files open the cwd also do an err check
  • 在 Rails 中使用回形针进行 ajax 上传的简单方法?

    我想知道是否有一个简单的方法 例如一个插件 用回形针在 Rails 中进行 ajax 上传 还是我必须从头开始构建它 Cheers 编辑 另外 我正在寻找非闪存解决方案 你可以试试remotipart http os alfajango c
  • 如何在scala的specs2测试中使用jUnit的TemporaryFolder?

    我正在使用 Playframework 编写测试 我需要创建一个临时文件 RunWith classOf JUnitRunner class DiagnosticSpec extends Specification Rule val tem
  • php:将变量内容下载为文件

    题主可以吗 我有一个正在执行的脚本 有一次 我在变量中有一大段文本 我可以将其作为可下载文件提供 而不实际将变量内容写入磁盘吗 如果您的意思是让用户单击链接并弹出一个对话框以将某些内容保存为文本文件
  • 在 Python 中通过 TCP 套接字发送文件

    我已经成功地将文件内容 图像 复制到新文件 然而 当我通过 TCP 套接字尝试同样的事情时 我遇到了问题 服务器循环未退出 客户端循环在到达 EOF 时退出 但服务器无法识别 EOF 这是代码 Server import socket Im
  • 从相对路径读取文件

    我知道这个问题之前已经被问过 1000 次了 我确实尝试了所有解决方案 Java项目中如何从相对路径读取文件 java io File 找不到指定的路径 https stackoverflow com questions 3844307 h
  • Ruby 有 mkdir -p 吗? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 ruby 中递归创建目录 https stackoverflow com questions 3686032 how to create directories recursively in
  • 从 Java 访问文件名中带有空格的文件

    我想从java程序访问文件名中有空格的目录中的文件 但它不访问文件 场景是我在文件中有文件名 iread 从该文件中读取文件名 但无法在 java 中打开带有空格的文件 我们使用 File exist 函数来检查文件是否存在 但它返回 fa
  • 如何解决:使用 .csv Dictreader 导入文件的 Python 因未定义字符而失败

    首先 我发现下列 https stackoverflow com questions 38019379 python unicodedecodeerror utf8 codec cant decode byte 0x91这与我的问题基本相同
  • PHP is_file 和服务器根相对路径

    请问如何使用 is file 和 folder file jpg 这样的路径 谢谢你 如果路径以 开头 则表示该路径是绝对路径 当路径是相对路径时 即不以 开头 则采用相对于 php 脚本的路径 如果您希望 folder file jpg

随机推荐