我正在尝试使用jenkins的bat命令运行jar文件。我想弹出cmd并执行jar文件。但问题是jenkins在其控制台内执行命令。然后我插入“开始”命令,希望它能工作因为它创建了一个单独的cmd来运行jar。 这是我的蝙蝠代码
start "window_name" java -jar myjarfile.jar
但是当我使用jenkins执行它时,它不会创建一个单独的cmd窗口,但它无论如何都会执行jar文件。它显示了这一行,
C:\Update>start "window_name" java -jar myjarfile.jar
任何想法如何解决这个问题?我想在执行时弹出一个黑色的窗口。
答案 0 :(得分:1)
诀窍是弄清楚要启动cmd.exe
的会话。在远程服务器上(Jenkins最常见的情况),没有必要直接进行。您的远程桌面会话与在控制台中物理登录的人员不在同一会话中。
psexec
cmd
,右键单击cmd.exe
,然后选择Run as Administrator
。C:\path\to\psexec.exe -accepteula
并按Enter键。C:\path\to\psexec.exe -i 1 cmd
并按Enter键。 (如果看到命令提示符出现,一切正常,请立即关闭)C:\path\to\psexec.exe -accepteula && C:\path\to\psexec.exe -i 1 cmd /c start C:\full\path\to\java.exe -jar myjarfile.jar
答案 1 :(得分:0)
谢谢大家,也许你的解决方案也会做到这一点。最后我做的是创建一个套接字程序并自己执行服务器。然后安排jenkins执行客户端。(我的环境中的服务器和jenkin环境中的客户端)当客户端连接到服务器时,它执行bat文件。现在一切正常。