我有一个Jenkins工作,需要解析html源代码以显示测试结果,并且我在其中使用jsoup。我的常规代码的开头如下所示。
@Grab('org.jsoup:jsoup:1.13.1')
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import java.io.File
File input = new File("/home/user_name/source.html")
Document doc = Jsoup.parse(input, "UTF-8", "")
def testResults = doc.getElementsByTag("table").get(2)
如果我从bash使用curl将html源代码下载到/home/user_name/source.html并在我的本地ubuntu机器上执行此代码,它将执行而不会出现任何问题。但是,当我尝试在jenkins管道中的groovy脚本中执行相同操作时,Jsoup.parse会引发java.io.FileNotFoundException: /home/user_name/source.html (No such file or directory)
错误。 Jenkins管道也在ubuntu代理上执行。
我已经确认该文件位于路径上,并且无需任何额外权限即可读取。是什么原因造成的?