答案1
你说的是
java -classpath /var/lib/jenkins/bin;/var/lib/Jenkins/CYOV3/lib/* org.testng.TestNG testng.xml就好像它是A命令,但它不是——它是二命令(用 分隔
;
):
java -classpath /var/lib/jenkins/bin
,这会导致来自 的长用法/错误消息java
,因为它是一个不完整的命令,
并且/var/lib/Jenkins/CYOV3/lib/* org.testng.TestNG testng.xml
,它对第一个单词(因为它包含)进行通配(进行路径名扩展)*
并将其扩展为类似的内容/var/lib/jenkins/CYOV3/lib/bsh-2.0b4.jar /var/lib/Jenkins/CYOV3/lib/foo /var/lib/Jenkins/CYOV3/lib/quux org.testng.TestNG testng.xml
失败是因为/var/lib/jenkins/CYOV3/lib/bsh-2.0b4.jar
作为 JAR 文件(而不是脚本或二进制可执行文件)没有执行权限。
你需要弄清楚你想做什么,然后正确地去做。未加引号、未转义的分号 ( ;
) 不可能成为命令的一部分。你想在那里有一个空间吗?或者可能是冒号 ( :
)?想办法。
答案2
终于找到固定的了。我使用下面的命令并将其添加为 jenkins 作业中的 shell 命令并构建它。现在正在执行命令。发现它无法在 Openshift/docker ssh 终端中工作,因为与其他 linux/unix 服务器不同,它的权限有限。我使用冒号来分隔这两个命令。
java -classpath /var/lib/jenkins/bin:/var/lib/Jenkins/CYOV3/lib/* org.testng.TestNG testng.xml
非常感谢所有提出修复建议和建议的人