Jenkins管道:连接文件/ URL路径

时间:2018-12-24 15:17:49

标签: jenkins groovy

在编写Jenkins Groovy管道时,如何将字符串很好地连接到路径中?这样我就可以join('http://example.com/', '/r', 'some.html') -> 'http://example.com/r/some.html'

This note建议在“纯” Groovy中使用new File(dir1, dir2)Paths.get(dir1, dir2)

但是在詹金斯管道中,import java.nio.file.Paths给了我

No such static method found: staticMethod java.nio.file.Paths get java.lang.String org.codehaus.groovy.runtime.GStringImpl.

通过new File我得到了

Scripts not permitted to use new java.io.File java.lang.String java.lang.String. Administrators can decide whether to approve or reject this signature.

并且我有点同意詹金斯的观点,这是不允许的。还有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

用Paths或File对象构建url的坏主意,因为在Windows下您会得到错误的结果。

您可以使用简单的字符串连接来构建url,并使用URI.normalize()删除多余的斜杠:

def u = new URI(['http://example.com/', '/r', 'some.html'].join('/')).normalize().toString()