从当前目录外部加载yaml文件

时间:2018-03-07 21:21:25

标签: yaml yaml-cpp

我想从工作目录外部加载c++文件。我使用YAML::LoadFile("/home/example.yaml")。我使用YAML::BadFile并抱怨String fileName= 'stageNumber.txt' sh ("wget ${env.JENKINS_URL}/job/$yourJobName/lastBuild/artifact/$fileName")//will be failed on the first build failedStage= readFile(fileName) try { stage('First stage') {}//add if condition} stage('Second stage') { if (failedStage == '2') { println('Skip 2. Stage, Continue from 3. Stage as it failed in prevoius build.') } else { doSomething() failedStage = '2' } stage('Last stage') {}//here failedStage could be zero for use in other if } finally { writeFile(file: fileName, text: failedStage) archiveArtifacts(fileName) } 。如果有任何办法,请告诉我。

1 个答案:

答案 0 :(得分:1)

YAML::LoadFile只会通过std::ifstream读取文件。所以你的实际问题是你无法在你的应用程序中打开文件。

检查文件是否存在并具有适当的权限,以便您的应用程序可以打开它。尝试使用std::ifstream直接打开它并将其交给YAML::Load,以便您可以直接检查流以查看发生了什么错误。