Groovy File类将反斜杠代替斜杠

时间:2018-07-18 09:02:19

标签: jenkins groovy

我正在编写一个Groovy脚本,以将某些文件从Jenkins主服务器(Windows)复制到从服务器(Linux)。但是我遇到了一个问题:File类在Linux文件夹路径中放置了'\'而不是'/',因此它无法识别该路径。 该错误表明找不到该文件: Jenkins error

正如您在屏幕快照中看到的那样,主路径很好,从路径也很好,直到我将其传递给File类以创建新文件。 这是我的Groovy脚本:

def master = build.getRootDir().getAbsolutePath() +"\\"
println "Master path: " + master

def slave = build.getEnvironment(listener).get("WORKSPACE") + "/"
println "Slave path: " + slave


def src = new File(master+'myFile.xml')

hudson.FilePath workspace = hudson.model.Executor.currentExecutor().getCurrentWorkspace()
File dst = new File("${workspace}/dst.xml")
println(dst)
dst << src.text

1 个答案:

答案 0 :(得分:0)

您始终可以在$ workspace中将\替换为/。记住大约4 x \

def path = $/\home\sky\asas\file/$

String newPath = path.replaceAll("\\\\", "/")
println "New Path : " + newPath 

[output] New Path : /home/sky/asas/file